{"openapi":"3.1.0","info":{"title":"trendsmeter Trend Signals API","version":"1.0.0","description":"Stable schema_version 1 API for curated daily trend signals. Current seed domain is AI/SaaS; the product abstraction is source-first and lens-driven."},"servers":[{"url":"https://trendsmeter.com"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"Source":{"type":"object","required":["platform","url","discovered_at"],"properties":{"platform":{"type":"string","enum":["hn","reddit","ph","github","x","youtube","tiktok","ih","weibo","zhihu","douyin","36kr","huxiu"]},"url":{"type":"string","format":"uri"},"discovered_at":{"type":"string","format":"date-time"},"score":{"type":"integer"}}},"Word":{"type":"object","required":["schema_version","slug","term","lang","category","first_seen_date","hot_score","saturation","trend_velocity","summary","example_use_case","sources"],"properties":{"schema_version":{"const":"1"},"slug":{"type":"string"},"term":{"type":"string"},"lang":{"type":"string","enum":["en","cn"]},"category":{"type":"string","enum":["model","tool","framework","concept","company","dev-tool"]},"first_seen_date":{"type":"string","format":"date"},"hot_score":{"type":"integer","minimum":0,"maximum":100},"saturation":{"type":"number","minimum":0,"maximum":1},"trend_velocity":{"type":"string","enum":["rising","plateau","fading"]},"summary":{"type":"string","maxLength":160},"example_use_case":{"type":"string"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"related_terms":{"type":"array","items":{"type":"string"}},"domain_tags":{"type":"array","items":{"type":"string"},"description":"Optional non-breaking signal tags, e.g. ai, games, entertainment, news, search, apps, domains."},"intent_tags":{"type":"array","items":{"type":"string"},"description":"Optional lens tags, e.g. create, build, monitor, research."}}},"Meta":{"type":"object","required":["last_run_at","stale","next_run_eta"],"properties":{"last_run_at":{"type":["string","null"],"format":"date-time"},"stale":{"type":"boolean"},"next_run_eta":{"type":["string","null"],"format":"date-time"}}},"WordListEnvelope":{"type":"object","required":["schema_version","data","meta"],"properties":{"schema_version":{"const":"1"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Word"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}},"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/today":{"get":{"summary":"Today's trend signal terms","parameters":[{"name":"lang","in":"query","schema":{"type":"string","enum":["en","cn","both"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WordListEnvelope"}}}}}}},"/v1/by-date/{date}":{"get":{"summary":"Trend signal terms for a date","parameters":[{"name":"date","in":"path","required":true,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WordListEnvelope"}}}}}}},"/v1/last-week":{"get":{"summary":"Rolling 7-day trend signal terms, Pro only","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WordListEnvelope"}}}}}}},"/v1/word/{slug}":{"get":{"summary":"Single trend report by slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Word"}}}}}}},"/v1/status":{"get":{"security":[],"summary":"Cron freshness and stale-data status","responses":{"200":{"description":"OK"}}}}}}