GNews API
- Free allowance
- Free plan, EUR 0: 100 requests a day, up to 10 articles a request, articles 12 hours late, 30 days of history.
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- request-rate100 requests a day on the Free plan, reset at 00:00 UTC; over it the API answers 403; 1 request a second on the Free plan; over it the API answers 429
- Evidence
- documented35 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, EUR 0: 100 requests a day, up to 10 articles a request, articles 12 hours late, 30 days of history. unit requests; metered on request-count; The counter resets at 00:00 UTC and unused requests do not carry over. Article content is truncated to a short excerpt on the Free plan, and pagination stops at 1,000 articles a query. CORS allows only localhost. The next plan up is Essential at EUR 49.99 a month for 1,000 requests a day. A free education plan built on Essential (1,000 requests a day, 25 articles a request, history back to 2020, full content) is granted after a manual review to students, researchers and teaching staff at a recognised institution. |
|---|---|
| Price | none stated |
| Limits |
|
| Binding | request-rate 100 requests a day is the first ceiling; at 10 articles a request that is at most 1,000 articles a day. |
| Identity | email The sign-up form asks for an email and a password, or Google sign-in, and the email is verified; the Free plan never asks for payment details. A trial of a paid plan asks for a payment method. |
| Egress | not applicable |
| Per-object cap | 10 articles a request on the Free plan; content truncated to a short excerpt |
| Retention | search reaches the last 30 days, and articles appear after a 12-hour delay |
| Interface | rest REST over HTTPS: GET /api/v4/search and /api/v4/top-headlines, with the key in the apikey parameter endpoint: https://gnews.io/api/v4/search |
| Tooling | any HTTP client; official Python, JavaScript and PHP packages |
| Composes with | Headline and article-metadata search with the article URL in each result; the full page is fetched separately by a crawler. |
| Reliability | Over the daily quota the API answers 403 until 00:00 UTC, and over 1 request a second it answers 429; the 99.95% uptime commitment covers only the Business and Enterprise plans. |
| Notes | Bulk path: none; the API pages up to 1,000 articles a query. |
| Evidence note | documented unverified: behind a sign-up. The 101st request of a day answering 403, a second request inside one second answering 429 and the Free plan content excerpt length need a free key and were not measured: the 403 and the 429 are documented, and no first-party page states the excerpt length. Quota, delay, history window, rate and sign-up fields are read from first-party pages (pricing, FAQ, error handling); a call with no key answered HTTP 400 'You did not provide an API key.', which the error handling page documents for a missing key. A call with a free key would move this to measured. |
| Parsed numbers |
|
Evidence 35
| date | source | what it proved |
|---|---|---|
| 2026-10-31 | gnews.io/pricing | the Free plan allows 100 requests a day |
| 2026-10-31 | gnews.io/pricing | the Free plan returns up to 10 articles a request |
| 2026-10-31 | gnews.io/pricing | Free plan articles are delayed 12 hours and history reaches 30 days |
| 2026-10-31 | gnews.io/pricing | not published |
| 2026-10-31 | gnews.io/pricing | the Free plan asks for no payment details |
| 2026-10-31 | gnews.io/pricing | a paid-plan trial asks for a payment method |
| 2026-10-31 | gnews.io/pricing | over the daily quota the API answers 403 until the 00:00 UTC reset |
| 2026-10-31 | gnews.io/pricing | unused requests do not carry over |
| 2026-10-31 | gnews.io/pricing | Free plan content is truncated to a short excerpt |
| 2026-10-31 | gnews.io/pricing | Essential, the next plan up, gives 1,000 requests a day and 25 articles a request |
| 2026-10-31 | gnews.io/faq | paid plans start at EUR 49.99 a month |
| 2026-10-31 | gnews.io/faq | the Free plan allows 1 request a second, and over it the API answers 429 |
| 2026-10-31 | gnews.io/faq | part of the text of Limits, above |
| 2026-10-31 | gnews.io/faq | CORS on the Free plan allows only localhost |
| 2026-10-31 | gnews.io/faq | the education plan is built on Essential: 1,000 requests a day, 25 articles, history back to 2020, full content |
| 2026-10-31 | gnews.io/faq | the education plan is for students, researchers and teaching staff at a recognised institution, reviewed one by one |
| 2026-10-31 | docs.gnews.io/ | sign-up verifies the email before the dashboard gives the key |
| 2026-10-31 | docs.gnews.io/ | the request pattern is GET /api/v4/{endpoint} with the key in the apikey parameter |
| 2026-10-31 | gnews.io/register | the sign-up form takes an email and a password, or Google sign-in |
| 2026-10-31 | gnews.io/legal/terms-of-service | not published |
| 2026-10-31 | gnews.io/legal/terms-of-service | not published |
| 2026-10-31 | gnews.io/legal/terms-of-service | the 99.95% monthly uptime commitment covers only the Business and Enterprise plans |
| 2026-10-31 | probe: https://gnews.io/api/v4/search?q=test&lang=en&max=1 | a search call with no key answers HTTP 400 |
| 2026-10-31 | probe: https://gnews.io/api/v4/search | the keyless answer names the missing key |
| 2026-11-02 | docs.gnews.io/error-handling | the error-handling page maps HTTP 403 to the daily quota being used up, with the reset at 00:00 UTC |
| 2026-11-02 | docs.gnews.io/error-handling | the error-handling page maps HTTP 429 to more than 1 request a second on the Free plan, and 10 a second on paid plans |
| 2026-11-02 | probe: https://gnews.io/api/v4/search?q=test&lang=en&max=1 | a search call with no key answered HTTP 400 |
| 2026-11-02 | probe: https://gnews.io/api/v4/search?q=test&lang=en&max=1 | the keyless answer names the missing key |
| 2026-11-02 | docs.gnews.io/json-response | the documentation's response sample shows a truncated content of 250 characters (counted) followed by '... [1862 chars]' |
| 2026-11-02 | www.cnblogs.com/flyingsir/p/19061708 | a third-party sample response shows content cut to 250 characters (counted) before '... [305 chars]', the same cut on all ten articles of the page |
| 2026-11-02 | gnews.io/legal/terms-of-service | the 99.95% monthly uptime commitment covers only the Business and Enterprise plans |
| 2026-11-02 | docs.gnews.io/error-handling | a request with no apikey parameter answers 400 with the message 'You did not provide an API key.' rather than 401 |
| 2026-11-02 | webz.io/blog/news-api-benchmarks/webz-io-vs-gnews-api-news-a | a third-party benchmark that used a Free key reported a median visible content length of 265 characters over 80 truncated values |
| 2026-11-02 | gnews.io/pricing | the Free plan gives 100 requests a day, 10 articles a request, a 12-hour delay and 30 days of history |
| 2026-11-02 | gnews.io/faq | the Free plan allows 1 request a second, and over it the API answers 429 |
Unknown values 1
- egress terms: the field does not apply to this kind of offer