# Pappers — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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 French companies and directors to access detailed business profiles, ownership structures, trademark information, and legal filings all in one place. Build professional networks, track company leadership, and monitor business intelligence across France's official registry data.

**Category:** Business Directories | **Website:** [pappers.fr/](https://pappers.fr/) | **Docs:** [parse.bot/marketplace/d5cf9ada-bd7e-451c-9282-0bde29b5f1b4/pappers-fr-api](https://parse.bot/marketplace/d5cf9ada-bd7e-451c-9282-0bde29b5f1b4/pappers-fr-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get company details

Get detailed profile of a French company by SIREN number. Returns registration details, share capital, headquarters address, legal form, and director information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `siren` | string | Yes | 9-digit SIREN number of the company. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/get-company-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"siren":"<string>"}'
```

### Get director cartography

Get the professional network cartography of a director, showing linked persons and companies as a graph. Birth date in MM/YYYY format is strongly recommended for accurate matching; without it the API may return a server error if the director cannot be uniquely identified.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `birth_date` | string | No | Birth date in MM/YYYY format (e.g. 04/1974). Strongly recommended for disambiguation. |
| `director_id` | string | No | Internal director ID from search_directors results for precise matching. |
| `first_name` | string | Yes | Director's first name. |
| `name` | string | Yes | Director's last name. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/get-director-cartography \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"birth_date":"<string>","director_id":"<string>","first_name":"<string>","name":"<string>"}'
```

### Search companies

Search for French companies by name, SIREN, or keyword. Returns a paginated list of companies with identifiers, legal form, status, location, directors, and publications. At least one of query or siren should be provided for meaningful results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page (max 20). |
| `page` | integer | No | Page number for pagination. |
| `query` | string | No | Search keyword or company name. |
| `siren` | string | No | 9-digit SIREN number to search for. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/search-companies \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>","siren":"<string>"}'
```

### Search directors

Search for French company directors and managers by name. Returns paginated results with director details including birth date, nationality, and their associated companies.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page (max 20). |
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Director name to search for. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/search-directors \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

### Search publications

Search for official BODACC legal publications for French companies. Returns paginated results with publication date, type, content, and associated company details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page (max 20). |
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Company name or keyword to search in publications. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/search-publications \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

### Search trademarks

Search for French (INPI) and European (EUIPO) trademarks by name or registration number. Returns paginated results with trademark details including status, classes, deposants, mandataires, and events.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page (max 20). |
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Trademark name or registration number. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/pappers/search-trademarks \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.