{"openapi":"3.1.0","info":{"title":"CitationEasy API","version":"1.0.0","summary":"Format citations in 10,832 styles and browse everything CitationEasy publishes.","description":"Free, unauthenticated, CORS-open API.\n\n**What it is for.** Turning a source you have — a URL, DOI, ISBN, PubMed ID, arXiv ID, or raw BibTeX/RIS/CSL-JSON — into a correctly formatted reference and in-text citation in any Citation Style Language style. Formatting runs citeproc-js against the official CSL definitions, so it is deterministic and reproducible; nothing is model-generated. Bibliographic metadata comes from Crossref, Open Library, and PubMed, and missing upstream fields stay missing rather than being guessed.\n\n**Also available.** The same content as a Model Context Protocol server at `https://www.citationeasy.com/api/mcp`, an index for LLMs at `https://www.citationeasy.com/llms.txt`, and a markdown view of any page at `https://www.citationeasy.com/md/{path}`.\n\n**Fair use.** No key and no rate limit of our own, but identifier lookups are proxied to third-party services that apply theirs — batch with `inputs` rather than firing many parallel requests.","contact":{"url":"https://www.citationeasy.com/contact","name":"CitationEasy"},"license":{"name":"CSL styles are CC BY-SA 3.0","url":"https://github.com/citation-style-language/styles"}},"servers":[{"url":"https://www.citationeasy.com","description":"Production"}],"tags":[{"name":"citations","description":"Turn a source into a formatted citation."},{"name":"styles","description":"The catalog of 10,832 citation styles."},{"name":"content","description":"Everything else CitationEasy publishes."}],"paths":{"/api/v1":{"get":{"tags":["content"],"operationId":"getApiIndex","summary":"Discover every endpoint","description":"Start here. Lists all endpoints, the MCP endpoint, the markdown-view pattern, and how many pages of each type the site has.","responses":{"200":{"description":"API discovery document.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/cite":{"post":{"tags":["citations"],"operationId":"createCitation","summary":"Format one or more sources","description":"The main endpoint. Give it what you have — an identifier, a URL, or metadata you already hold — and a style slug, and it returns the reference-list entry plus, on request, the in-text citation and footnote. Per-source failures are reported on that source; a batch never fails as a whole.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CiteRequest"},"examples":{"doi":{"summary":"A DOI in APA 7 with its in-text citation","value":{"input":"10.1038/nature12373","style":"apa","inText":true}},"batch":{"summary":"Three sources at once in IEEE","value":{"inputs":["10.1145/3292500.3330701","https://www.nature.com/articles/nature12373","arXiv:1706.03762"],"style":"ieee"}},"metadata":{"summary":"Metadata you already have, no lookup","value":{"style":"chicago-notes-bibliography","note":true,"entry":{"type":"book","title":"The Craft of Research","author":"Wayne C. Booth","publisher":"University of Chicago Press","issued":"2016"}}}}}}},"responses":{"200":{"description":"Formatted citations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CiteResponse"}}}},"400":{"description":"Request could not be satisfied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Request could not be satisfied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"tags":["citations"],"operationId":"getCiteUsage","summary":"Usage document for the cite endpoint","responses":{"200":{"description":"How to call POST /api/v1/cite.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/styles":{"get":{"tags":["styles"],"operationId":"listStyles","summary":"Search citation styles","description":"Find the style slug you need. Filter by free text, by the CSL citation-format class, by discipline tag, or by region.","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Match against name, short name, or slug."},{"name":"format","in":"query","schema":{"type":"string","enum":["author-date","numeric","note","label","author"]}},{"name":"field","in":"query","schema":{"type":"string"},"description":"Discipline tag, e.g. \"psychology\", \"medicine\"."},{"name":"region","in":"query","schema":{"type":"string"},"description":"e.g. \"United States\", \"International\"."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Page size."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0},"description":"Items to skip."}],"responses":{"200":{"description":"Matching styles.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","description":"Matches before paging."},"count":{"type":"integer","description":"Items in this page."},"limit":{"type":"integer"},"offset":{"type":"integer"},"hasMore":{"type":"boolean"},"results":{"type":"array","items":{"$ref":"#/components/schemas/StyleSummary"}}},"required":["total","count","results"]}}}}}}},"/api/v1/styles/{slug}":{"get":{"tags":["styles"],"operationId":"getStyle","summary":"One citation style in full","description":"Format class, discipline tags, region, parent style, and real formatted examples produced by that style's own CSL definition — plus its formatting rules where the site documents them.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"example":"apa"}],"responses":{"200":{"description":"The style.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleDetail"}}}},"404":{"description":"Request could not be satisfied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/search":{"get":{"tags":["content"],"operationId":"searchSite","summary":"Search every page on the site","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","schema":{"type":"string","enum":["core","style-landing","style","style-examples","style-format","style-in-text","style-annotated-bibliography","style-reference-page","tool","guide","how-to-cite","comparison","converter","field","region","category","cheat-sheet"]},"description":"Repeatable, or comma-separated."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Page size."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0},"description":"Items to skip."}],"responses":{"200":{"description":"Ranked results.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request could not be satisfied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/pages":{"get":{"tags":["content"],"operationId":"listPages","summary":"The whole site catalog","description":"Structured entries for all 12,710 pages. The JSON twin of llms-full.txt.","parameters":[{"name":"type","in":"query","schema":{"type":"string","enum":["core","style-landing","style","style-examples","style-format","style-in-text","style-annotated-bibliography","style-reference-page","tool","guide","how-to-cite","comparison","converter","field","region","category","cheat-sheet"]},"description":"Repeatable, or comma-separated."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Page size."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0},"description":"Items to skip."}],"responses":{"200":{"description":"Catalog entries.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Request could not be satisfied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/tools":{"get":{"tags":["content"],"operationId":"listTools","summary":"Free tools","parameters":[{"name":"category","in":"query","schema":{"type":"string","enum":["writing","citation","formatting","converter"]}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Page size."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0},"description":"Items to skip."}],"responses":{"200":{"description":"Tools.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/guides":{"get":{"tags":["content"],"operationId":"listGuides","summary":"Educational guides","parameters":[{"name":"category","in":"query","schema":{"type":"string"}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Page size."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0},"description":"Items to skip."}],"responses":{"200":{"description":"Guides.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/how-to-cite":{"get":{"tags":["content"],"operationId":"listHowToCite","summary":"How-to-cite pages by source type and style","parameters":[{"name":"source","in":"query","schema":{"type":"string"},"example":"podcast"},{"name":"style","in":"query","schema":{"type":"string"},"example":"apa"},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1},"description":"Page size."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0},"description":"Items to skip."}],"responses":{"200":{"description":"How-to-cite pages.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/converters":{"get":{"tags":["content"],"operationId":"listConverters","summary":"Identifier and format converters","responses":{"200":{"description":"Converters.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/comparisons":{"get":{"tags":["content"],"operationId":"listComparisons","summary":"Side-by-side style comparisons","responses":{"200":{"description":"Comparisons.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/fields":{"get":{"tags":["content"],"operationId":"listFields","summary":"Academic fields, subject categories, and regions","description":"Answers \"which style should I use for X?\" — each field lists the styles it commonly requires.","responses":{"200":{"description":"Taxonomy.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/faq":{"get":{"tags":["content"],"operationId":"listFaq","summary":"Common citation questions, answered","description":"CitationEasy's vetted answers to general citation questions. Use for \"how does citing work\" questions; use /api/v1/cite when the user has an actual source.","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Filter to questions and answers containing this text."}],"responses":{"200":{"description":"FAQ entries.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/md/{path}":{"get":{"tags":["content"],"operationId":"getPageMarkdown","summary":"Any page as markdown","description":"Prefix any site path with /md/ to get markdown instead of HTML — far cheaper to read than the rendered page. Example: /md/citation-style/apa.","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"},"example":"citation-style/apa"}],"responses":{"200":{"description":"Markdown view.","content":{"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"No such page.","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/api/mcp":{"post":{"tags":["content"],"operationId":"mcp","summary":"Model Context Protocol endpoint","description":"JSON-RPC 2.0 over HTTP. Methods: initialize, tools/list, tools/call, resources/list, resources/read, ping. Unauthenticated.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"examples":{"toolsList":{"summary":"List the tools","value":{"jsonrpc":"2.0","id":1,"method":"tools/list"}}}}}},"responses":{"200":{"description":"JSON-RPC response.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"integer"}},"required":["message"]}}},"CiteRequest":{"type":"object","description":"Supply exactly one source form: `entry` (highest precedence), `inputs`, or `input`.","properties":{"input":{"type":"string","description":"A URL, DOI, ISBN, PubMed ID, arXiv ID, or BibTeX/RIS/CSL-JSON text.","maxLength":2000},"inputs":{"type":"array","items":{"type":"string"},"maxItems":10,"description":"Up to 10 sources in one call."},"entry":{"type":"object","additionalProperties":true,"description":"CSL-JSON-shaped metadata to format directly, skipping lookup."},"style":{"type":"string","default":"apa","description":"Style slug. Friendly slugs (\"chicago\", \"harvard\") resolve to the right CSL variant."},"inText":{"type":"boolean","default":false},"note":{"type":"boolean","default":false},"lang":{"type":"string","description":"e.g. \"de-DE\". Defaults to en-US."}}},"CiteResponse":{"type":"object","properties":{"style":{"type":"object","properties":{"requested":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"}}},"language":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/CiteResult"}}}},"CiteResult":{"type":"object","properties":{"input":{"type":["string","null"]},"citation":{"type":["string","null"],"description":"The reference-list entry."},"inText":{"type":["string","null"]},"note":{"type":["string","null"]},"entry":{"type":["object","null"],"additionalProperties":true,"description":"The resolved metadata, so you can correct and re-submit it."},"error":{"type":"string","description":"Present only when this source could not be resolved."}}},"StyleSummary":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"shortName":{"type":["string","null"]},"region":{"type":["string","null"]},"citationFormat":{"type":["string","null"]},"disciplines":{"type":"array","items":{"type":"string"}},"url":{"type":"string","format":"uri"},"apiUrl":{"type":"string","format":"uri"}}},"StyleDetail":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"whenUsed":{"type":"string"},"citationFormat":{"type":["string","null"]},"disciplines":{"type":"array","items":{"type":"string"}},"parentStyle":{"type":["string","null"]},"examples":{"type":"object","description":"Real output from this style's own CSL definition for three fixed sources.","properties":{"journalArticle":{"type":["string","null"]},"book":{"type":["string","null"]},"website":{"type":["string","null"]},"inText":{"type":["string","null"]}}}}}}}}