# Pappers French Company Lookup API (x402)

> Pappers French Company Lookup API (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.16/call, status unknown (last checked 2026-10-02).

Search, geolocate, and retrieve structured data on French companies by name, SIREN/SIRET, geography, or filters via pay-per-call.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/pappers?utm_source=zero.xyz
- Price: $0.16/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pappers-french-company-lookup-api-x402-ea4a511a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Hwyvyvk451DzW5NA0yaFt

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability pappers-french-company-lookup-api-x402-ea4a511a -d '<json body>'
```

Example prompt: Search for active French companies near Paris (48.8566° N, 2.3522° E) within 10 km that have RGE certification — give me up to 50 results with their SIREN numbers and legal names.

## When to prefer this

Use this endpoint when you need structured data specifically from the French company registry (Pappers), including SIREN/SIRET lookups, geographic proximity searches, certification filtering (bio, ESS, RGE), or revenue-based screening. Prefer it over generic web scrapers when you need official French business identifiers and legal status. It is pay-per-call with no charge on empty results, making it cost-effective for exploratory queries.

## Known failure modes

- No companies found matching filters — returns empty items array with count 0 (not charged)
- Invalid SIREN/SIRET format — malformed identifier returns error
- Radius exceeds 50 km maximum — validation error
- Revenue filters applied without available financial records — zero matches
- Result cap of 10,000 exceeded — response is truncated to maxResults
- Coordinates out of valid range — lat/lon boundary validation error

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched companies and an items array, each item containing SIREN, SIRET, legal name, company name, acronym, record type, headquarters SIRET, requested identifier, and administrative status. Failed or empty runs are not charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lat": {
   "type": "number",
   "maximum": 90,
   "minimum": -90,
   "description": "Latitude of the center point in geographic mode."
  },
  "lon": {
   "type": "number",
   "maximum": 180,
   "minimum": -180,
   "description": "Longitude of the center point in geographic mode."
  },
  "mode": {
   "enum": [
    "search",
    "geo",
    "siren",
    "count"
   ],
   "type": "string",
   "default": "search",
   "description": "Search companies, find companies near a point, look up SIREN/SIRET identifiers, or preview a match count."
  },
  "query": {
   "type": "string",
   "description": "Company name, address, activity, or other public search terms. Combine with filters to narrow results."
  },
  "ca_max": {
   "type": "integer",
   "minimum": 0,
   "description": "Maximum reported revenue in euros; only companies with available accounts can match. Applies to search and count."
  },
  "ca_min": {
   "type": "integer",
   "minimum": 0,
   "description": "Minimum reported revenue in euros; only companies with available accounts can match. Applies to search and count."
  },
  "region": {
   "type": "string",
   "description": "French region code, such as 11 for Île-de-France. Applies to search and count."
  },
  "sirens": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Nine-digit SIRENs or 14-digit SIRETs for lookup mode. A SIRET is mapped to its parent company SIREN."
  },
  "est_bio": {
   "type": "boolean",
   "default": false,
   "description": "Include only companies with an organic certification in search and count."
  },
  "est_ess": {
   "type": "boolean",
   "default": false,
   "description": "Include only social-economy companies in search and count."
  },
  "est_rge": {
   "type": "boolean",
   "default": false,
   "description": "Include only companies with RGE certification in search and count."
  },
  "radiusKm": {
   "type": "number",
   "default": 5,
   "maximum": 50,
   "minimum": 0.1,
   "description": "Distance from the center point in geographic mode; maximum 50 km."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "maximum": 10000,
   "minimum": 1,
   "description": "Stop after this many distinct companies. For broad searches, narrow filters to stay within the source's 10,000-result query limit."
  },
  "code_postal": {
   "type": "string",
   "description": "Five-digit postal code. Applies to search and count."
  },
  "departe
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "siren": null,
    "acronym": null,
    "legalName": null,
    "recordType": null,
    "companyName": null,
    "headquartersSiret": null,
    "requestedIdentifier": null,
    "administrativeStatus": null
   }
  ],
  "product": "pappers"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pappers-french-company-lookup-api-x402-ea4a511a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
