# Occrp — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and discover investigative journalism from OCCRP.org, including articles, investigations, and projects organized by section and region. Get the latest news updates and detailed information about specific investigations to stay informed on organized crime and corruption reporting.

**Category:** News & Media | **Website:** [occrp.org/](https://occrp.org/) | **Docs:** [parse.bot/marketplace/9d52d1e8-5bbd-45fe-b28e-909ba997e1a7/occrp-org-api](https://parse.bot/marketplace/9d52d1e8-5bbd-45fe-b28e-909ba997e1a7/occrp-org-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_article_detail

Fetch and parse the full HTML page of an OCCRP article. Returns structured data including headline, body text, authors, publication date, partner organizations, article type, and tags. Requires the article URL (full or relative path). Each call is a separate HTTP fetch of the article page — use search endpoints to discover article URIs first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL or relative path of the article (e.g. https://www.occrp.org/en/investigation/fatal-liver-transplants-in-georgia-were-rush-jobs or /en/investigation/fatal-liver-transplants-in-georgia-were-rush-jobs) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_article_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_articles_by_region

Retrieve articles filtered by geographic region. Returns paginated results matching the specified region facet from the Algolia index.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page |
| `page` | integer | No | Page number (0-indexed) |
| `region` | string | Yes | Region name to filter by |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_articles_by_region \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","region":"<string>"}'
```

### get_articles_by_section

Retrieve articles filtered by thematic section. Returns paginated results matching the specified section facet from the Algolia index.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page |
| `page` | integer | No | Page number (0-indexed) |
| `section` | string | Yes | Section name to filter by |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_articles_by_section \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","section":"<string>"}'
```

### get_investigations

Retrieve articles filtered by type 'Investigation'. Returns paginated results containing only in-depth investigative reports.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page |
| `page` | integer | No | Page number (0-indexed) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_investigations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>"}'
```

### get_latest_articles

Retrieve articles from the default Algolia index ordered by relevance. Returns paginated results without any type or facet filters applied. Useful for discovering recent or highly-ranked content across all categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page |
| `page` | integer | No | Page number (0-indexed) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_latest_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>"}'
```

### get_news

Retrieve articles filtered by type 'News'. Returns paginated results containing only news briefs and reports, excluding investigations and features.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page |
| `page` | integer | No | Page number (0-indexed) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_news \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>"}'
```

### get_projects

Retrieve a paginated list of investigative projects from the OCCRP projects page. Each project includes title, URL, summary, publication date, and banner image. Projects are multi-article investigative series.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/get_projects \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### search_articles

Full-text search over OCCRP articles with optional facet filters. Returns paginated results from the Algolia search index with article metadata including title, description, type, date, regions, sections, organizations, and keywords. Supports filtering by article type, thematic section, and geographic region simultaneously. An empty query returns all articles matching the filters.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `article_type` | string | No | Type of article filter |
| `limit` | integer | No | Number of results per page (max 1000) |
| `page` | integer | No | Page number (0-indexed) |
| `query` | string | No | Search keywords to match against article titles and content |
| `region` | string | No | Geographic region filter |
| `section` | string | No | Thematic section filter |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-occrp-org-api-9d52d1e8/search_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"article_type":"<string>","limit":"<integer>","page":"<integer>","query":"<string>","region":"<string>","section":"<string>"}'
```
