{"openapi":"3.1.0","info":{"title":"Article Extraction API","description":"Turn any article URL or raw HTML into clean text or Markdown plus metadata (title, author, date, site, language). Built for AI/RAG pipelines, content tools and readers. No storage.","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/article":{"get":{"summary":"Article","description":"Fetch a URL and return the clean article content plus metadata.","operationId":"article_article_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Public article URL","title":"Url"},"description":"Public article URL"},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(text|markdown)$","default":"text","title":"Format"}},{"name":"favor_precision","in":"query","required":false,"schema":{"type":"boolean","description":"Precision over recall","default":true,"title":"Favor Precision"},"description":"Precision over recall"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/extract-html":{"post":{"summary":"Extract Html","description":"Extract clean content from raw HTML you already have (no fetching).","operationId":"extract_html_extract_html_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HtmlRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HtmlRequest":{"properties":{"html":{"type":"string","minLength":1,"title":"Html","description":"Raw HTML to extract from"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Optional original URL (helps metadata)"},"format":{"type":"string","pattern":"^(text|markdown)$","title":"Format","default":"text"},"favor_precision":{"type":"boolean","title":"Favor Precision","default":true}},"type":"object","required":["html"],"title":"HtmlRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"servers":[{"url":"/extract"}]}