Quickstart
-
Set your API key.
Terminal window export PRESSCLOUD_API_KEY="sk_live_..." -
Request the latest Dutch articles with a named author.
Terminal window curl -G 'https://api.presscloud.ai/v1/articles' \-H "Authorization: Bearer $PRESSCLOUD_API_KEY" \-d country=NL \-d has_author=true \-d per_page=5 -
Read the response.
{"status": "ok","total_results": 1482,"next_cursor": "eyJhcnRpY2xlX3B1Ymxpc2hlZF9hdCI6...","articles": [{"id": "art_5c31b0","title": "Amsterdamse scale-up haalt 12 miljoen op voor uitbreiding naar Duitsland","url": "https://www.example.nl/artikel/...","snippet": "De Amsterdamse software scale-up heeft een Serie A ronde van 12 miljoen euro afgesloten...","published_at": "2026-08-20T07:42:00Z","authors": [{ "id": "aut_8f21c4", "name": "Joris de Vries" }],"outlet": { "name": "Example Zakelijk", "domain": "example.nl" },"language": "nl","country": "NL"}]}statusis"ok"on every successful response.next_cursorisnullon the final page. Field definitions are in the article object. -
Check your usage.
Every response includes your current limits:
X-RateLimit-Limit: 60X-RateLimit-Remaining: 59X-Quota-Limit: 50000X-Quota-Remaining: 49873
More examples
Section titled “More examples”curl -G 'https://api.presscloud.ai/v1/articles' \ -H "Authorization: Bearer $PRESSCLOUD_API_KEY" \ -d q=overname \ -d country=NL,BE \ -d published_after=2026-01-01# Every word required, quoted phrases, leading - excludes.# Searches the article text as well as the headline.curl -G 'https://api.presscloud.ai/v1/articles' \ -H "Authorization: Bearer $PRESSCLOUD_API_KEY" \ -d search=boolean \ -d search_in=title_body \ -d 'q="raad van bestuur" benoeming -interim'# Matches by meaning, so this also returns articles# whose headlines say "fusie" or "koopt".curl -G 'https://api.presscloud.ai/v1/articles' \ -H "Authorization: Bearer $PRESSCLOUD_API_KEY" \ -d search=semantic \ -d q=overname \ -d country=NLcurl -G 'https://api.presscloud.ai/v1/articles.rss' \ -H "Authorization: Bearer $PRESSCLOUD_API_KEY" \ -d country=NL \ -d q=overname$response = Http::withToken(config('services.presscloud_news.key')) ->baseUrl('https://api.presscloud.ai/v1') ->get('/articles', [ 'country' => 'NL,BE', 'has_author' => 'true', 'per_page' => 50, ]);
$articles = $response->json('articles');import requests
response = requests.get( "https://api.presscloud.ai/v1/articles", headers={"Authorization": f"Bearer {api_key}"}, params={"country": "NL,BE", "has_author": "true", "per_page": 50},)articles = response.json()["articles"]- Articles endpoint — all filters and both search modes.
- Pagination — retrieving complete result sets.
- Errors — the error format and every error code.