NewsData.io
- Free allowance
- Free plan, USD 0: 200 API credits a day, 1 to 10 articles a credit, the past 48 hours of news with a 12-hour delay.
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- emailno card, phone required
- Binding limit
- request-rate200 API credits a day on the free plan; 30 requests every 15 minutes on the free plan, counted per account; a request over the limit answers HTTP 429 with the code RateLimitExceeded
- Evidence
- documented59 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
| Free tier | Free plan, USD 0: 200 API credits a day, 1 to 10 articles a credit, the past 48 hours of news with a 12-hour delay. unit credits; metered on request-count; Most calls cost 1 credit; an Archive call costs 5 credits and a Count call 50. The pricing page says credits are deducted only for requests that are processed and return results, while the vendor's reference says a call that matches nothing still costs its credits. On the free plan the crypto and market endpoints cover the last 7 days with a 12-hour delay. The next plan up is Basic at USD 199.99 a month for 20,000 credits a month. |
|---|---|
| Price | none stated |
| Limits |
The rate-limit documentation page and the rate-limit blog post word the free limit as 30 credits every 15 minutes with no further request served until it resets, while the vendor's reference counts requests, not credits, over a moving 15-minute window. Responses carry an X-RateLimit-Remaining header with the requests left in the current 15-minute window. Unverified: behind a sign-up: whether a live request past the 30 allowed answers 429 RateLimitExceeded, whether a request that returns no results counts toward the limit, and whether the window is fixed or moving. |
| Binding | request-rate 200 credits a day is the ceiling, and 30 requests every 15 minutes paces how fast it can be spent. |
| Identity | email The sign-up form asks for a full name, an email and a password, each marked required, and offers an optional purpose and an optional phone number, or Google sign-in; the form's script checks a phone number only when one is entered and leaves it out of the sign-up request when the field is empty, and the request carries a reCAPTCHA response. Verifying the email address activates the account. No card for the free plan. Unverified: behind a sign-up: whether the sign-up server accepts a request with no phone number. |
| Egress | not applicable |
| Per-object cap | 1 to 10 articles a request on the free plan |
| Retention | the latest endpoint reaches the past 48 hours, with a 12-hour delay on the free plan |
| Interface | rest REST over HTTPS returning JSON; every endpoint is a GET except the WebSocket register call (POST) and the WebSocket delete call (DELETE); the key goes in the apikey parameter or the X-ACCESS-KEY header. The free plan also lists real-time streaming API access. endpoint: https://newsdata.io/api/1/latest |
| Tooling | any HTTP client |
| Composes with | The free topical datasets on GitHub (CSV and JSON) are a no-key bulk start; the API adds the past 48 hours at 200 credits a day. |
| Reliability | Over the 15-minute rate limit the API answers Rate Limit Exceeded and no data comes back for 15 minutes; a keyless call answered HTTP 401 with Retry-After 900. |
| Notes | Bulk path: free topical news datasets (CSV and JSON archives) download from GitHub with no account; a historical export is priced on request. |
| Evidence note | documented Quota, rate, page size and sign-up fields are read from first-party pages; a keyless API call answered HTTP 401, so the free key was not exercised. One free dataset archive (9374054 bytes) downloaded from GitHub with no account. |
| Parsed numbers |
|
Evidence 59
| date | source | what it proved |
|---|---|---|
| 2026-10-31 | newsdata.io/pricing | the free plan gives 200 API credits a day |
| 2026-10-31 | newsdata.io/pricing | free plan data reaches the past 48 hours |
| 2026-10-31 | newsdata.io/pricing | free plan data is delayed 12 hours |
| 2026-10-31 | newsdata.io/pricing | the free plan returns 1 to 10 articles a credit |
| 2026-10-31 | newsdata.io/pricing | the free plan asks for no card |
| 2026-10-31 | newsdata.io/pricing | an Archive call costs 5 credits and a Count call 50 |
| 2026-10-31 | newsdata.io/pricing | credits are charged only for processed requests that return results |
| 2026-10-31 | newsdata.io/pricing | the Basic plan costs USD 199.99 a month |
| 2026-10-31 | newsdata.io/pricing | the Basic plan gives 20,000 credits a month |
| 2026-10-31 | newsdata.io/pricing | the free plan lists real-time streaming API access |
| 2026-10-31 | newsdata.io/blog/newsdata-rate-limit | the free plan rate limit is 30 credits every 15 minutes |
| 2026-10-31 | newsdata.io/blog/newsdata-rate-limit | over the rate limit no data comes back for 15 minutes |
| 2026-10-31 | newsdata.io/openapi.json | a page holds 1 to 10 articles on the free plan |
| 2026-10-31 | newsdata.io/openapi.json | part of the text of Interface, above |
| 2026-10-31 | newsdata.io/openapi.json | the latest endpoint covers the past 48 hours, 12 hours late on the free plan |
| 2026-10-31 | newsdata.io/openapi.json | the crypto and market endpoints cover the last 7 days on the free plan |
| 2026-10-31 | newsdata.io/register | the free API key needs no card |
| 2026-10-31 | newsdata.io/register | the sign-up form offers Google sign-in and asks for a purpose |
| 2026-10-31 | newsdata.io/register | full name, email and password carry the required mark |
| 2026-10-31 | newsdata.io/register | the phone number input carries no required attribute and no required mark |
| 2026-10-31 | newsdata.io/terms | the terms set no storage or sharing limit of their own |
| 2026-10-31 | newsdata.io/terms | not published |
| 2026-10-31 | github.com/bytesview/newsdata.io-free-datasets | the free datasets ship as CSV and JSON archives |
| 2026-10-31 | github.com/bytesview/newsdata.io-free-datasets | not published |
| 2026-10-31 | newsdata.io/datasets | the first-party datasets page lists free topical news datasets |
| 2026-10-31 | newsdata.io/historical-news-download | a historical export is priced by record count on request |
| 2026-10-31 | probe: https://github.com/newsdataapi/newsdata.io-free-datasets/raw/main/ai_regulation_governance.zip | a free dataset archive downloads with no account |
| 2026-10-31 | probe: https://github.com/newsdataapi/newsdata.io-free-datasets/raw/main/ai_regulation_governance.zip | the archive is 9374054 bytes |
| 2026-10-31 | probe: https://newsdata.io/api/1/latest?q=test | a keyless call answers HTTP 401 |
| 2026-10-31 | probe: https://newsdata.io/api/1/latest?q=test | the keyless answer carries Retry-After 900 |
| 2026-10-31 | probe: https://newsdata.io/api/1/latest | the keyless answer points to the free sign-up |
| 2026-11-02 | newsdata.io/llms-full.txt | the free plan allows 30 requests every 15 minutes, counted per account in requests and not credits, and exceeding it returns 429 RateLimitExceeded |
| 2026-11-02 | newsdata.io/llms-full.txt | bursts from one IP address are limited apart from the 15-minute limit and answer 429 TooManyRequests |
| 2026-11-02 | newsdata.io/documentation/api-rate-limit | the rate-limit documentation page words the free plan's limit as 30 credits every 15 minutes |
| 2026-11-02 | newsdata.io/llms-full.txt | the reference's plan table lists the free rate limit as 30 requests per 15 minutes |
| 2026-11-02 | newsdata.io/llms-full.txt | size takes 1 to the plan maximum, 10 on Free, a larger value returns 422, and the default is the plan maximum |
| 2026-11-02 | a.newsdata.io/_next/static/chunks/0l-4gjwum9_j2.js | the sign-up script reports an invalid phone number only when the phone field holds a number, so an empty field passes its check |
| 2026-11-02 | newsdata.io/pricing | the free plan lists 200 API credits per day, the past 48 hours of news, a 12-hour delay and 1 to 10 articles per credit |
| 2026-11-02 | newsdata.io/llms-full.txt | the reference says a call's cost does not depend on how many results come back, and a call that matches nothing still costs its credits |
| 2026-11-02 | newsdata.io/openapi.json | the API is REST returning JSON, every read endpoint is a GET, and the two WebSocket management endpoints use POST and DELETE |
| 2026-11-02 | newsdata.io/documentation/api-rate-limit | over the limit the API returns a Rate Limit Exceeded error and serves no further request until the limit resets after 15 minutes |
| 2026-11-02 | newsdata.io/documentation/api-rate-limit | the rate-limit answer carries HTTP status 429 |
| 2026-11-02 | newsdata.io/llms.txt | the short index states the free limit as 30 requests per 15 minutes |
| 2026-11-02 | newsdata.io/openapi.json | the X-RateLimit-Remaining response header reports the requests left in the current 15-minute window |
| 2026-11-02 | newsdata.io/documentation/api-pagination | a free request returns 10 articles a page by default and size accepts 1 to 10 |
| 2026-11-02 | newsdata.io/documentation/api-credit-limits | the credit-limit table lists 10 as the maximum results of a free credit |
| 2026-11-02 | newsdata.io/llms-full.txt | the reference's plan table lists 10 articles per request on the free plan |
| 2026-11-02 | newsdata.io/register | the sign-up page promises up to 10 articles per request |
| 2026-11-02 | newsdata.io/openapi.json | size is 1 to 10 on the free plan and defaults to the plan's maximum |
| 2026-11-02 | newsdata.io/register | the Full Name label of the sign-up form carries the required mark |
| 2026-11-02 | newsdata.io/register | the Email label of the sign-up form carries the required mark |
| 2026-11-02 | newsdata.io/register | the Phone Number label of the sign-up form carries no required mark |
| 2026-11-02 | newsdata.io/register | the Purpose label of the sign-up form carries no required mark |
| 2026-11-02 | a.newsdata.io/_next/static/chunks/0l-4gjwum9_j2.js | the sign-up request adds purpose and phone_no only when they are filled in |
| 2026-11-02 | a.newsdata.io/_next/static/chunks/0l-4gjwum9_j2.js | the sign-up request carries a recaptcha_response value |
| 2026-11-02 | newsdata.io/documentation/get-api-key | after signing up the email address is verified to activate the account |
| 2026-11-02 | newsdata.io/free-news-api | the free key comes after signing up and verifying the email, with no payment info |
| 2026-11-02 | probe: https://newsdata.io/api/1/latest?q=test | a keyless call to the latest endpoint answered HTTP 401 on 2026-11-02 |
| 2026-11-02 | probe: https://newsdata.io/api/1/latest?q=test | the keyless answer carries Retry-After 900 |
Unknown values 1
- egress terms: the field does not apply to this kind of offer