{"openapi":"3.0.3","info":{"title":"Plainradar","version":"1.0.0","description":"Live news search: what was published in the last hours and days on any topic, from the world's leading outlets to niche blogs, in 45 languages. News sites and blogs are read at the moment of the call, the same story from many outlets comes back once with the number of sources that cover it, and every story is checked against your topic before you get it. Calls go through RapidAPI: subscribe at https://rapidapi.com/plainradar/api/plainradar and send your key in the X-RapidAPI-Key header.","contact":{"name":"Plainradar","url":"https://plainradar.com/#contact"},"termsOfService":"https://plainradar.com/terms","x-logo":{"url":"https://plainradar.com/static/apple-touch-icon.png"}},"servers":[{"url":"https://plainradar.p.rapidapi.com"}],"tags":[{"name":"News"}],"paths":{"/v1/search":{"get":{"operationId":"searchNews","tags":["News"],"summary":"Search news","description":"The relevant stories about a topic from the last 24 hours, each with its link, source, publication time, summary and how many sources cover it. `days` 2-7 adds a second page with the best stories from the days before. When a page has `more`, call again with the same query and its `cursor` for further stories. A call reads the news live and can take several seconds.","parameters":[{"name":"query","in":"query","required":true,"description":"The topic or question, in plain language (2-200 characters). A language or country named in its own language (\"España\", \"română\") limits the results to it.","schema":{"type":"string","minLength":2,"maxLength":200},"example":"artificial intelligence"},{"name":"days","in":"query","required":false,"description":"1: the last 24 hours. 2-7 adds a second page with the best stories from the days before that.","schema":{"type":"integer","minimum":1,"maximum":7,"default":1}},{"name":"language","in":"query","required":false,"description":"Sources are English unless given: a language name such as \"French\" limits them to that language, \"all\" includes every language. Use it for a topic the press covers in another language.","schema":{"type":"string"},"example":"French"},{"name":"filters","in":"query","required":false,"style":"form","explode":true,"description":"Up to 5 plain-language preferences that leave out stories that don't fit, such as \"Skip opinion pieces and listicles\" or \"Only news from Europe\" (each under 200 characters; a JSON list, or the parameter repeated for each one). Give them on the first call: they apply to the whole search, cursor pages included.","schema":{"type":"array","maxItems":5,"items":{"type":"string","maxLength":200}}},{"name":"limit","in":"query","required":false,"description":"The most stories a page has. The most covered and most relevant come first; `omitted` says how many more there were.","schema":{"type":"integer","minimum":1,"maximum":100,"default":30}},{"name":"briefing","in":"query","required":false,"description":"true adds a few AI-written sentences on the first page's main news, each citing the ids of the stories it comes from. Takes a few seconds more.","schema":{"type":"boolean","default":false}},{"name":"cursor","in":"query","required":false,"description":"A page's `cursor`, with the same query: the search's further stories (only new ones), plus `updates` (more coverage) for stories already returned. A search can be continued for 30 minutes after its last call.","schema":{"type":"string"}},{"name":"X-RapidAPI-Host","in":"header","required":true,"description":"Always this value.","schema":{"type":"string","enum":["plainradar.p.rapidapi.com"],"default":"plainradar.p.rapidapi.com"}}],"responses":{"200":{"description":"The stories found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"},"example":{"query":"artificial intelligence","pages":[{"from":"2026-10-11T09:00:00Z","to":"2026-10-12T09:00:00Z","stories":[{"id":"3f9c2a71d0b4","title":"Example headline of a story about artificial intelligence","link":"https://news.example.com/2026/10/example-story","published":"2026-10-12T07:45:12+00:00","feed":"Example News","summary":"The first lines of the article, up to 300 characters.","image":"https://news.example.com/images/example.jpg","sources":4,"relevant":"yes"}],"omitted":0,"updates":[],"more":true,"cursor":"4AVB58NmZD6qxnbf:day"}],"stats":{"stories":1,"hidden":0,"seconds":5.15},"filters":{"language":"English","country":null,"search":"artificial intelligence","noise":[]}}}}},"400":{"description":"A parameter is wrong (unknown language, too many filters, query too short)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"The cursor's search has expired: search again for fresh results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many searches in a minute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"A search of yours is already running, or the service is busy: try again shortly","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"RapidAPI: the key is missing or not valid","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"403":{"description":"RapidAPI: this key is not subscribed to the API","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}}}}}},"components":{"schemas":{"SearchResult":{"type":"object","properties":{"query":{"type":"string"},"pages":{"type":"array","items":{"$ref":"#/components/schemas/Page"},"description":"The last 24 hours; with `days` 2-7, a second page with the days before."},"stats":{"type":"object","description":"`stories`: the stories this call found (those over `limit` too); `hidden`: stories the filters left out; `seconds`: how long the call took.","properties":{"stories":{"type":"integer"},"hidden":{"type":"integer"},"seconds":{"type":"number"}}},"filters":{"type":"object","description":"What the search ran with: the language and country it was limited to, the text searched, and the noise filters.","additionalProperties":true},"briefing":{"type":"object","nullable":true,"description":"With `briefing`: sentences on the main news, each with the ids of the stories it comes from.","additionalProperties":true}}},"Page":{"type":"object","properties":{"from":{"type":"string","description":"Start of the page's time window"},"to":{"type":"string","description":"End of the page's time window"},"stories":{"type":"array","items":{"$ref":"#/components/schemas/Story"}},"omitted":{"type":"integer","description":"Stories over `limit` that were left out"},"updates":{"type":"array","description":"More coverage for stories returned by earlier calls: their id and new number of sources.","items":{"type":"object","additionalProperties":true}},"more":{"type":"boolean","description":"Further stories are available with `cursor`"},"cursor":{"type":"string","nullable":true}}},"Story":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"},"published":{"type":"string","description":"When it was published (ISO 8601)"},"feed":{"type":"string","description":"The source's name"},"summary":{"type":"string"},"image":{"type":"string"},"sources":{"type":"integer","description":"How many sources cover the story"},"relevant":{"type":"string","description":"The relevance check's answer"}}},"Error":{"type":"object","properties":{"query":{"type":"string"},"error":{"type":"string"}}}},"securitySchemes":{"RapidAPIKey":{"type":"apiKey","in":"header","name":"X-RapidAPI-Key","description":"Your key from https://rapidapi.com/plainradar/api/plainradar"}}},"externalDocs":{"description":"About the API","url":"https://plainradar.com/news-api"},"security":[{"RapidAPIKey":[]}]}