canonical: https://jentic.com/apis/newsdata.io/newsdata

# NewsData.io API

The NewsData.io API searches live and historical news articles and returns them as JSON with filters for keyword, country, category, language, source domain, sentiment, and more. Dedicated endpoints cover cryptocurrency news filtered by coin, financial-market news filtered by market_id, the archive with from_date and to_date ranges, article counts over time, and the list of indexed news sources. Real-time monitoring works by registering a query, then reading matching articles from a WebSocket stream until the registration is deleted.

## For AI agents

Search latest, archived, crypto, and market news with keyword, country, language, and sentiment filters, count matching articles over a date range, and register real-time news queries for WebSocket delivery.

## Scope

Does not publish articles, host media files, or provide social media posts or stock price quotes. Use for searching, counting, and streaming news articles only.

## Capabilities

- Search the latest news with q, qInTitle, or qInMeta keyword queries and filter by country, category, language, and source domain
- Pull historical articles from the archive between a from_date and to_date
- Track cryptocurrency coverage by coin and financial-market coverage by market_id
- Count matching articles over a date range with `/1/count`, `/1/crypto/count`, and `/1/market/count`
- List indexed news sources by country, category, and language before narrowing a search
- Register a real-time news query and stream matching articles over the `/ws/event` WebSocket

## Use cases

### Agent news briefing through Jentic

A research agent asked for a morning briefing searches Jentic for a news search operation, receives the getLatest input schema, and calls the NewsData.io API with a keyword in q, a country such as us, and a language such as en. The response returns article titles, links, and source details the agent can summarise, and the agent can follow nextPage tokens with the page parameter to read further results.

Example prompt: Search Jentic for 'search the latest news', then call GET `/1/latest` with q='semiconductor tariffs', country='us', language='en' and summarise the first page of results

### Crypto and market news monitoring

Trading and research tools need coverage of specific assets rather than general headlines. The NewsData.io API exposes `/1/crypto` with a coin filter and `/1/market` with a market_id filter, both supporting sentiment and date filters, so a dashboard can show only articles about the assets it tracks.

Example prompt: Call GET `/1/crypto` with coin='btc' and sentiment='negative' and list the headlines and source domains returned

### Media coverage trend analysis

Analysts measuring how coverage of a topic rises and falls need counts, not just articles. The `/1/count` endpoint takes a required from_date and to_date plus the usual keyword and country filters and returns article counts by interval, so a report can chart coverage volume without downloading every article.

Example prompt: Call GET `/1/count` with q='heatwave', from_date='2026-07-01', to_date='2026-07-31' and report the daily article counts

### Real-time breaking news alerts

Some workflows need articles as they are published rather than on a polling schedule. Register a query with POST `/1/websocket/register` using filters such as q and country, connect to `/ws/event` with the returned registration_id to receive matching articles, review active registrations with `/1/websocket/fetch`, and remove one with `/1/websocket/delete` when the alert is no longer needed.

Example prompt: Call POST `/1/websocket/register` with q='product recall' and country='gb', store the registration_id, then call GET `/1/websocket/fetch` to confirm the registration is active

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/1/latest` | Search the latest news articles |
| GET | `/1/archive` | Search the historical news archive |
| GET | `/1/crypto` | Search cryptocurrency news |
| GET | `/1/market` | Search financial-market news |
| GET | `/1/count` | Count news articles over a date range |
| GET | `/1/sources` | List indexed news sources |
| POST | `/1/websocket/register` | Register a real-time news query |

## Key resources

- **Latest news** — Search recent articles via `/1/latest` (and its alias `/1/news`) with keyword, country, category, language, domain, and sentiment filters
- **Archive** — Search historical articles by from_date and to_date via `/1/archive`
- **Crypto and market news** — Asset-focused article search via `/1/crypto` (coin filter) and `/1/market` (market_id filter)
- **Counts** — Article counts over a required date range via `/1/count`, `/1/crypto/count`, and `/1/market/count`
- **Sources** — List indexed news sources filtered by country, category, and language via `/1/sources`
- **Real-time queries** — Register, list, and delete WebSocket news queries and connect to the `/ws/event` stream

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 61 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 85 / 100
  - Developer Experience & Jentic Compatibility: 57 / 100
  - AI-Readiness & Agent Experience: 56 / 100
  - Agent Usability: 94 / 100
  - Security: 33 / 100
  - AI Discoverability: 86 / 100
- **View full report:** https://jentic.com/apis/newsdata.io/newsdata/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring NewsData.io by hand means choosing between the apikey query parameter and the X-ACCESS-KEY header, learning which filters cannot be combined, and handling nextPage pagination yourself. Through Jentic you install once, import NewsData.io from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** NewsData.io passes every filter in the query string and has no per-resource path ids, so rules bound which operations your agent may call rather than which topics it searches. You choose the operations it may call, so state-changing ones like registering or deleting real-time queries are not included unless you add them.
- **Credential handling:** Your NewsData.io API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search the latest news' or 'count articles about a topic', and Jentic returns the matching NewsData.io operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **News API** — Headline and article search across news sources and blogs
- **GNews API** — News search and top headlines by topic, country, and language
- **Mediastack API** — Live and historical news data from global sources
- **OpenAI API** — Language models to summarise or classify the articles NewsData.io returns

## FAQ

### What authentication does the NewsData.io API use?

Per its OpenAPI spec, the NewsData.io API takes an API key either as the `apikey` query-string parameter or in the `X-ACCESS-KEY` header, and one of the two is required. The WebSocket management and stream operations (`/1/websocket/fetch`, `/1/websocket/delete`, and `/ws/event`) declare the `apikey` query parameter. Through Jentic, the key is stored encrypted by your own Jentic One instance and added to the call at execution time, so your agent never sees it.

### Can I search historical news with the NewsData.io API?

Yes. GET `/1/archive` accepts from_date and to_date along with the same keyword, country, category, language, and domain filters as `/1/latest.` For volume rather than articles, GET `/1/count` takes a required from_date and to_date and returns article counts by interval.

### What are the rate limits for the NewsData.io API?

The OpenAPI spec describes credit costs rather than a fixed request ceiling: /latest, /news, /crypto, /market, and /sources cost 1 credit per call, /archive costs 5, and the count endpoints cost 50. It also documents the `X-RateLimit-Remaining` and `X-API-Limit-Remaining` response headers for your remaining budget. Check https://newsdata.io/documentation for current plan limits.

### How do I get breaking news alerts with the NewsData.io API through Jentic?

Install Jentic One with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh`, add NewsData.io from the Jentic API Directory, and store your API key. Your agent can then search for 'register a real-time news query', call POST `/1/websocket/register` with filters such as q, and keep the returned registration_id for the `/ws/event` stream. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the NewsData.io API?

Yes. For a research agent, write a rule that allows GET `/1/latest`, GET `/1/archive`, and GET `/1/sources`, so it can read and search news but cannot register or delete real-time queries. Each call it makes is checked against that rule.

### Is there a NewsData.io MCP server?

You don't need an MCP server to give your agent the NewsData.io API. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls it, discovering operations on demand instead of loading every tool definition into its context.

### What is the difference between `/1/latest` and `/1/news` in the NewsData.io API?

The spec describes GET `/1/news` as identical to GET `/1/latest`: both return recent articles with the same filters. Use `/1/latest` in new integrations and `/1/news` only where existing code already calls it.
