{"openapi":"3.1.0","info":{"title":"News API (BYOK) API","version":"0.1.0","description":"News API (BYOK) lets an AI assistant read your own News API data through the News API API with a key you supply (API key). Read-only: 3 tools (top_headlines, search_articles, list_sources). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to newsapi.org. Unofficial connector by Unify Dynamics LLC: not affiliated...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-newsapi.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-newsapi/docs"},"termsOfService":"https://connectorbay.com/byok-newsapi/terms"},"servers":[{"url":"https://byok-newsapi.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-newsapi/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/top_headlines":{"post":{"operationId":"top_headlines","summary":"Get current top headlines by country and category, by a list of source ids, or by keyword. Country and category cannot b","description":"Get current top headlines by country and category, by a list of source ids, or by keyword. Country and category cannot be combined with sources. Up to 100 per page. Use for \"What are the top US technology headlines right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter ISO 3166-1 country code such as 'us'. Not allowed together with sources.","title":"Country"},"category":{"anyOf":[{"enum":["business","entertainment","general","health","science","sports","technology"],"type":"string"},{"type":"null"}],"default":null,"description":"Headline category: business, entertainment, general, health, science, sports or technology. Not allowed together with sources.","title":"Category"},"sources":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated source ids such as 'bbc-news' (look them up with list_sources). Not allowed together with country or category.","title":"Sources"},"q":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Keywords or a phrase the headlines must match.","title":"Q"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"top_headlinesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_articles":{"post":{"operationId":"search_articles","summary":"Search articles from news sources and blogs by keyword, with optional source, domain, language, date and sort filters. W","description":"Search articles from news sources and blogs by keyword, with optional source, domain, language, date and sort filters. Which dates are reachable depends on the plan. Up to 100 per page. Use for \"Find articles from last week about electric car batteries\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Keywords or phrase. Supports quotes for exact matches, + and - prefixes and AND, OR, NOT with parentheses.","maxLength":500,"title":"Q","type":"string"},"search_in":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Limit where q is matched: any of title, description and content, comma-separated (default: all three).","title":"Search In"},"sources":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated source ids to restrict to, at most 20.","title":"Sources"},"domains":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated domains to restrict to, for example 'bbc.co.uk,techcrunch.com'.","title":"Domains"},"exclude_domains":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated domains to leave out.","title":"Exclude Domains"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Oldest article time as ISO 8601, for example 2026-10-01 or 2026-10-01T08:00:00.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Newest article time as ISO 8601.","title":"To Date"},"language":{"anyOf":[{"enum":["ar","de","en","es","fr","he","it","nl","no","pt","ru","sv","ud","zh"],"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter language code (ar, de, en, es, fr, he, it, nl, no, pt, ru, sv, ud, zh).","title":"Language"},"sort_by":{"anyOf":[{"enum":["relevancy","popularity","publishedAt"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: relevancy, popularity or publishedAt (default publishedAt).","title":"Sort By"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["q"],"title":"search_articlesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_sources":{"post":{"operationId":"list_sources","summary":"List the news sources News API covers, with id, name, description, home page, category, language and country. Use the id","description":"List the news sources News API covers, with id, name, description, home page, category, language and country. Use the ids with the other tools. Use for \"Which English-language business news sources does News API cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"anyOf":[{"enum":["business","entertainment","general","health","science","sports","technology"],"type":"string"},{"type":"null"}],"default":null,"description":"Only sources of this category.","title":"Category"},"language":{"anyOf":[{"enum":["ar","de","en","es","fr","he","it","nl","no","pt","ru","sv","ud","zh"],"type":"string"},{"type":"null"}],"default":null,"description":"Only sources writing in this language.","title":"Language"},"country":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only sources from this two-letter country code, for example 'us' or 'gb'.","title":"Country"}},"title":"list_sourcesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}