# anyplot > the open plot catalogue — every plot begins as a library-agnostic markdown spec; ai generates > and reviews implementations across fifteen libraries in python, r, julia and javascript. > browse, copy, adapt — colorblind-safe by default. every plot page carries the runnable source code (MIT-licensed). catalog pages are served as prerendered HTML to recognised crawler user agents — if your client is not on that list you get an empty app shell, so prefer the API and raw URLs below: they work for every client, no special user agent required. ## Fetch one plot (worked example) 1. find the spec id: [llms-full.txt](https://anyplot.ai/llms-full.txt) lists every spec on one line (`spec_id | title | hub page | implemented libraries`) — search it for a keyword like "bar", or filter by tag via the API (below). 2. get the source code: `https://api.anyplot.ai/specs/bar-error/seaborn/code` returns JSON with the runnable code (any library id works — the language is resolved automatically). 3. get the rendered image: `https://storage.googleapis.com/anyplot-images/plots/bar-error/python/seaborn/plot-light.png` (dark theme: `plot-dark.png`; smaller: `plot-light_400.png`, `_800`, `_1200`; WebP: `plot-light.webp`). ## API base URL: https://api.anyplot.ai — public, read-only, JSON, no auth. - `GET /specs` — all specs with metadata - `GET /specs/{spec_id}` — one spec with all implementations (preview URLs, quality, review) - `GET /specs/{spec_id}/{library}/code` — runnable source for one implementation - `GET /plots/filter` — every rendered implementation, filterable and pageable. filter params: `plot=` (plot type, e.g. `plot=bar`), `lib=` (library), `lang=` (language), `spec=` (spec id), `data=` (data type), `dom=` (domain), `feat=` (features); comma-separated values = OR, repeated params = AND; page with `limit=` and `offset=`. example: `https://api.anyplot.ai/plots/filter?plot=bar&lib=seaborn&limit=5` - [OpenAPI schema](https://api.anyplot.ai/openapi.json) — the full endpoint reference raw source is also on GitHub (CORS-open): `https://raw.githubusercontent.com/MarkusNeusinger/anyplot/main/plots/{spec_id}/implementations/{language}/{library}.{ext}` and the spec itself at `.../plots/{spec_id}/specification.md`. ## Catalog - [Full catalogue index](https://anyplot.ai/llms-full.txt): one line per spec — ids, titles, libraries - [Plot gallery](https://anyplot.ai/plots): every rendered implementation, filterable by library, language and tags - [Specifications](https://anyplot.ai/specs): the library-agnostic plot specs the implementations are generated from - [Libraries](https://anyplot.ai/libraries): the fifteen supported plotting libraries across four languages - [Sitemap](https://anyplot.ai/sitemap.xml): every spec hub and implementation page ## Docs - [About](https://anyplot.ai/about): what anyplot is and how the ai pipeline works (idea → spec → code → review) - [Palette](https://anyplot.ai/palette): imprint, the colorblind-safe palette, with copy-paste snippets for python, r, julia and javascript - [MCP server](https://anyplot.ai/mcp): connect an ai agent to the catalog via Model Context Protocol — HTTP transport at https://api.anyplot.ai/mcp/ - [Legal & transparency](https://anyplot.ai/legal): operator, privacy policy, tech stack and hosting costs ## Optional - [GitHub repository](https://github.com/MarkusNeusinger/anyplot): full source — specs, pipeline, api and frontend - [Stats](https://anyplot.ai/stats): catalog and usage statistics