{"openapi":"3.1.0","info":{"title":"PressGEO Public Data API","version":"1.0.0","description":"Read-only, unauthenticated feeds of public PressGEO data: owner-confirmed local business factsheets, company newsrooms and recorded local AI recommendation data. Newsroom statements are company-supplied; factsheet facts are owner-confirmed (not independent certification). Missing checks mean unmeasured, not zero. Licensed CC BY 4.0 where stated; cite the returned PressGEO URLs. Also available as a remote MCP server at https://pressgeo.com/mcp.","contact":{"email":"chase@pressgeo.com","url":"https://pressgeo.com"}},"servers":[{"url":"https://pressgeo.com"}],"paths":{"/api/public/facts/{slug}.json":{"get":{"operationId":"getLocalFactsheet","summary":"Published owner-confirmed local factsheet","parameters":[{"name":"slug","in":"path","required":true,"description":"Business slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"pressgeo"}],"responses":{"200":{"description":"Factsheet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Factsheet"}}}},"400":{"description":"Invalid slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not published or unknown","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"503":{"description":"Temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/api/public/facts/{slug}.md":{"get":{"operationId":"getLocalFactsheetMarkdown","summary":"Factsheet as Markdown","parameters":[{"name":"slug","in":"path","required":true,"description":"Business slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"pressgeo"}],"responses":{"200":{"description":"Markdown","content":{"text/markdown":{"schema":{"type":"string"}}}},"400":{"description":"Invalid slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not published or unknown","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"503":{"description":"Temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/c/{slug}/facts.json":{"get":{"operationId":"getNewsroom","summary":"Public company newsroom (company-supplied)","parameters":[{"name":"slug","in":"path","required":true,"description":"Company slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"pressgeo"}],"responses":{"200":{"description":"Newsroom","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not published or unknown","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"503":{"description":"Temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/c/{slug}/facts.md":{"get":{"operationId":"getNewsroomMarkdown","summary":"Newsroom as Markdown","parameters":[{"name":"slug","in":"path","required":true,"description":"Company slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"pressgeo"}],"responses":{"200":{"description":"Markdown","content":{"text/markdown":{"schema":{"type":"string"}}}},"400":{"description":"Invalid slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not published or unknown","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"503":{"description":"Temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/api/public/local/{metro}.json":{"get":{"operationId":"getMetroIndex","summary":"Recorded 90-day local AI recommendations for a metro","parameters":[{"name":"metro","in":"path","required":true,"description":"Metro slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"phoenix"}],"responses":{"200":{"description":"Dataset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocalIndex"}}}},"400":{"description":"Invalid slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not published or unknown","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"503":{"description":"Temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/api/public/local/{metro}/{service}.json":{"get":{"operationId":"getMetroServiceIndex","summary":"Recorded local AI recommendations for one metro service","parameters":[{"name":"metro","in":"path","required":true,"description":"Metro slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"phoenix"},{"name":"service","in":"path","required":true,"description":"Service slug","schema":{"type":"string","pattern":"^[a-z0-9-]{1,200}$"},"example":"roofing"}],"responses":{"200":{"description":"Dataset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocalIndex"}}}},"400":{"description":"Invalid slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not published or unknown","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"503":{"description":"Temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/api/public/local-index.json":{"get":{"operationId":"getLocalIndex","summary":"All local markets","responses":{"200":{"description":"Dataset","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}}},"components":{"schemas":{"Factsheet":{"type":"object","additionalProperties":true,"description":"Owner-confirmed facts with source URLs; only published records are returned."},"LocalIndex":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"windowDays":{"type":"integer"},"hubs":{"type":"array","items":{"type":"object","properties":{"metro":{"type":"string"},"service":{"type":"string"},"label":{"type":"string"},"url":{"type":"string"},"firms":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"domain":{"type":["string","null"]},"profile":{"type":"string"},"citationRate90d":{"type":["number","null"],"description":"Null when unmeasured"},"checks90d":{"type":"integer"}}}}}}}}}}}}