Article endpoint
The Articles endpoint allows you to retrieve articles from a specific source, category, or query. You can specify the number of results to return and sort the results by different criteria.
Endpoint URL
GET /articles
Query Parameters
The following parameters can be used to filter the articles:
qstring required
Search keyword(s)sourcesstring
A comma-separated string of news source ids.domainsstring
A comma-separated string of domains to restrict the search to.excludeDomainsstring
A comma-separated string of domains to exclude from the search.fromstring
A date and optional time for the oldest article allowed. (format: "yyyy-MM-dd'T'HH:mm:ss'Z'")tostring
A date and optional time for the newest article allowed. (format: "yyyy-MM-dd'T'HH:mm:ss'Z'")languagestring
The language to restrict the articles to.sortBystring
The order to sort the articles in. Possible values arerelevancy,popularity, andpublishedAt.pagenumber default: 20
Use this to page through the results.pageSizenumber default: 20
The number of results to return per page.
Example
Request
curl -X GET 'https://api.example.com/v2/articles?q=trump&sources=cnn' -H 'Authorization: Bearer YOUR_API_KEY'
Response
The response will be an array of articles, where each article object contains the following properties:
sourceobject
The news sourceidstring
The news source idnamestring
The news source name. eg:CNN
authorstring
The author of the article.titlestring
The title of the article.descriptionstring
A short description of the article.urlstring
The URL of the article.urlToImagestring
The URL of the image associated with the article.publishedAtdate
The date and time when the article was published.contentstring
The full content of the article.
Here's an example response:
Response
{ "status": "ok", "totalResults": 20, "page": 1, "pageSize": 10, "articles": [ { "source": { "id": "cnn", "name": "CNN" }, "author": "John Smith", "title": "Article title", "description": "Article description", "url": "https://www.example.com/article", "urlToImage": "https://www.example.com/image.jpg", "publishedAt": "2023-04-10T14:30:00Z", "content": "Article content" }, // ... ]}
Rate Limiting
The API limits the number of requests per minute per API key to prevent abuse. If you exceed the rate limit, you'll receive a 429 TOO_MANY_REQUESTS response.
Authentication
To authenticate your requests, you must include your API key in the Authorization header of your HTTP requests. The API key can be obtained from the developer portal.
The header should be in the following format:
Authentication Header
Authorization: Bearer API_KEY
Replace API_KEY with your actual API key.
Error Responses
If there's an error with your request, the API will return an error response in JSON format with a status property of error and an errorMessage property with a message describing the error. Here's an example error response:
Error Response
{ "status": 400, "errorMessage": "Invalid country code", "errorCode": "INVALID_COUNTRY_CODE",}
Read more about error handling here Error Handling guide.
Pagination
The Articles endpoint supports pagination to retrieve more than the default number of results. The response will include a totalResults property indicating the total number of results available for the specified query parameters. The page and pageSize query parameters can be used to retrieve specific pages of results.
The default pageSize value is 20, and the maximum value is 100.
Usage Limits
The API usage limits are subject to change at any time without notice. It's your responsibility to ensure that your application complies with the usage limits and doesn't abuse the service.
If you need to increase your usage limits, please contact us at support@example.com.
What's next
- Want to learn how to query available sources? Sources endpoint
- Handle error properly. Error handling guide