occrp.org APIoccrp.org ↗
Access OCCRP investigative journalism via API. Search articles, filter by region or section, retrieve full article text, and list investigative projects.
curl -X GET 'https://api.parse.bot/scraper/c1247c1e-9818-4a07-a48d-e339774986d7/search_articles?limit=5&query=corruption' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for articles using keywords and filters. Returns paginated results from the Algolia search index with article metadata including title, description, type, date, regions, sections, and organizations.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| limit | integer | Number of results per page |
| query | string | Search keywords |
| region | string | Geographic region filter (e.g. Europe, Asia) |
| section | string | Thematic section filter (e.g. Corruption, Organized Crime) |
| article_type | string | Type of article: News, Investigation, Feature, or Scoop |
{
"type": "object",
"fields": {
"hits": "array of article objects with title, uri, type, description, date, regions, sections, keywords",
"page": "integer, current page number",
"nbHits": "integer, total number of matching articles",
"nbPages": "integer, total number of pages available"
},
"sample": {
"data": {
"hits": [
{
"uri": "/project/first-bank-first-family/zavala-cape-corruption",
"date": "Jun 11, 2012",
"type": "Investigation",
"title": "Zavala: Cape Corruption",
"locale": "en",
"regions": [],
"sections": [
"Money Laundering"
],
"description": "First Bank loan funds were used in illegal construction..."
}
],
"page": 0,
"nbHits": 150,
"nbPages": 30
},
"status": "success"
}
}About the occrp.org API
The OCCRP API provides 8 endpoints for accessing investigative journalism published on occrp.org, covering articles, investigations, and projects. You can search the full article index with search_articles using keyword queries and filters for region, section, and article type, or pull detailed article content — including body text, authors, tags, and partner organizations — via get_article_detail. Results include metadata fields like regions, sections, organizations, and keywords for structured downstream use.
Search and Filtering
The search_articles endpoint accepts query, region, section, and article_type parameters and returns paginated results with title, uri, type, description, date, regions, sections, and keywords fields. Article types include News, Investigation, Feature, and Scoop. The get_articles_by_section and get_articles_by_region endpoints offer focused filtering — pass a section value such as "Corruption" or "Money Laundering", or a region value such as "Europe" or "Asia", to narrow results without a full-text query. All list endpoints are 0-indexed for pagination except get_projects, which is 1-indexed.
Article Detail
get_article_detail accepts a full URL or path and returns the complete article body, authors, partners, tags, type, title, description, and date. This is the only endpoint that returns full body text; the search and listing endpoints return summaries only. The partners field lists collaborating news organizations, which is relevant for cross-referencing OCCRP's partner network investigations.
Typed Listing Endpoints
get_investigations returns articles of type Investigation with organizations and regions fields included, making it useful for entity-centric research. get_news filters to News-type articles and includes sections. get_latest_articles returns the default index ordering without type filtering. get_projects returns a list of investigative project records with title, url, summary, date, and image fields — these represent multi-story investigative series rather than individual articles.
Coverage Notes
All list endpoints expose nbHits and nbPages for result-set sizing. The search index fields reflect OCCRP's editorial tagging, so regions and sections values depend on how articles were categorized at publication. Not all articles will carry every metadata field — organizations and keywords may be absent on some records.
- Monitor new OCCRP investigations mentioning specific organizations using
search_articleswith a keyword query andarticle_type=Investigation. - Build a regional corruption tracker by polling
get_articles_by_regionfor a target geography and storing the returnedsectionsandkeywords. - Extract full article text and author information via
get_article_detailfor NLP pipelines or document analysis workflows. - Aggregate OCCRP investigative projects by listing
get_projectsand linking eachurlto its constituent article records. - Filter money-laundering coverage by passing
section=Money Launderingtoget_articles_by_sectionand indexing the returnedurianddatefields. - Identify partner organizations involved in cross-border investigations by collecting the
partnersarray fromget_article_detailacross multiple articles. - Track publication cadence and topic distribution across article types by combining
get_newsandget_investigationswith date-based sorting.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does OCCRP have an official developer API?+
What does `get_article_detail` return that the search endpoints do not?+
get_article_detail is the only endpoint that returns the full article body text, authors, partners (collaborating organizations), and tags. Search and listing endpoints return only summary metadata: title, uri, description, date, regions, sections, and organizations.Are there any fields that may be missing from article records?+
organizations, keywords, regions, and sections fields in search results depend on OCCRP's editorial tagging and are not guaranteed to be populated on every article. Older articles in particular may have sparse metadata. The date field in get_article_detail returns null if the publication date is not found on the article page.Does the API cover OCCRP's Aleph data platform or leaked document collections?+
Can I filter `search_articles` results by date range?+
query, region, section, and article_type. Each result includes a date field so client-side filtering by date is possible after retrieval. You can fork this API on Parse and revise it to add a date-range filter parameter.