{"openapi":"3.1.1","info":{"title":"Legal ad-platform policy tracker: data API","version":"v1","summary":"Static, read-only JSON and CSV files. No key, no sign-up. CORS open.","description":"Legal ad-platform policy tracker: The ad-platform policies that affect US law-firm advertising on Google Ads, Google Local Services, YouTube, Microsoft Ads, Meta, LinkedIn and ChatGPT ads: what each rule says in plain English, what a firm should do about it, which practice areas it touches, when it took effect, and a dated log of changes. Each record quotes the platform's own policy or help page and gives the date it was read.\n\nProbative is a marketing firm, not a law firm; not legal advice. Every JSON response starts with a \"meta\" object holding the credit line, citation, DOI and license (CC BY 4.0).","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"contact":{"name":"Probative","url":"https://probativegrowth.com/contact/","email":"hello@probativegrowth.com"}},"servers":[{"url":"https://probativegrowth.com"}],"externalDocs":{"description":"How to use the API and the MCP server","url":"https://probativegrowth.com/resources/rules-api/"},"paths":{"/data/v1/platforms/index.json":{"get":{"summary":"Legal ad-platform policy tracker: index","description":"platforms: meta, summary and what the dataset holds","parameters":[],"responses":{"200":{"description":"Legal ad-platform policy tracker: index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}},"/data/v1/platforms/changes.json":{"get":{"summary":"Legal ad-platform policy tracker: confirmed changes","description":"platforms: confirmed changes, newest first","parameters":[],"responses":{"200":{"description":"Legal ad-platform policy tracker: confirmed changes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}},"/data/v1/platforms/platforms/{key}.json":{"get":{"summary":"Legal ad-platform policy tracker: one platform","description":"platforms: the records for one platform","parameters":[{"name":"key","in":"path","required":true,"description":"The platform key, uppercase","schema":{"type":"string"}}],"responses":{"200":{"description":"Legal ad-platform policy tracker: one platform","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}},"/data/v1/platforms/platforms.csv":{"get":{"summary":"Legal ad-platform policy tracker as CSV","description":"platforms: every record (credit line in README.txt)","parameters":[],"responses":{"200":{"description":"Legal ad-platform policy tracker as CSV","content":{"text/csv":{"schema":{"type":"string"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}},"/data/v1/platforms/platforms.json":{"get":{"summary":"Legal ad-platform policy tracker: every record","description":"platforms: every record in one file","parameters":[],"responses":{"200":{"description":"Legal ad-platform policy tracker: every record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}},"/data/v1/platforms/search.json":{"get":{"summary":"Legal ad-platform policy tracker: keyword index","description":"platforms: id, key, status and text of every record","parameters":[],"responses":{"200":{"description":"Legal ad-platform policy tracker: keyword index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}},"/data/v1/platforms/README.txt":{"get":{"summary":"Credit line, citation and columns","description":"platforms: the CSV sidecar","parameters":[],"responses":{"200":{"description":"Credit line, citation and columns","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"No such file"}},"tags":["platforms"]}}},"components":{"schemas":{"Meta":{"type":"object","description":"Credit line, citation, DOI, version, license and disclaimer. Present in every response.","required":["dataset","version","license","attribution","disclaimer","url"],"properties":{"dataset":{"type":"string"},"title":{"type":"string"},"version":{"type":"string"},"doi":{"type":["string","null"]},"doiUrl":{"type":["string","null"]},"conceptDoi":{"type":["string","null"]},"license":{"type":"string","const":"CC BY 4.0"},"licenseUrl":{"type":"string"},"attribution":{"type":"string"},"citation":{"type":"string"},"disclaimer":{"type":"string"},"notice":{"type":"string"},"lastChecked":{"type":"string"},"url":{"type":"string"},"humanUrl":{"type":"string"},"statusCodes":{"type":"object"}}},"Envelope":{"type":"object","required":["meta"],"properties":{"meta":{"$ref":"#/components/schemas/Meta"}},"additionalProperties":true}}}}