# Greeneris French Address Geocoder

> Greeneris French Address Geocoder is a paid API for AI agents from data.greeneris.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Geocodes or reverse-geocodes French addresses using the official Base Adresse Nationale (BAN) registry

## Facts

- Endpoint: GET https://data.greeneris.io/v1/fr/geocode
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/greeneris-french-address-geocoder-fd76bd0b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NCGpVVthiT6gcLiEKN6IA

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 greeneris-french-address-geocoder-fd76bd0b
```

Example prompt: Can you geocode the French address '8 boulevard du Port, 80000 Amiens' and give me its exact coordinates and official INSEE city code?

## When to prefer this

Use this endpoint when you need authoritative, official French address geocoding backed by the national BAN registry (INSEE/IGN). Prefer it over generic geocoders when you need INSEE city codes, official French address labels, or high-confidence normalization of French addresses for compliance or business verification workflows. It is pay-per-call with no account setup required, making it ideal for AI agents with sporadic or one-off geocoding needs within France.

## Known failure modes

- No match found: matches array is empty with count 0 if the address is outside France or too ambiguous
- Invalid coordinates for reverse mode: missing lat or lon returns a 400-level error
- Limit out of range: values outside 1–10 may be rejected or clamped
- Payment required: HTTP 402 with a machine-readable USDC quote if x402 payment header is absent
- Rate or quota issues if the underlying BAN API is temporarily unavailable

## How this service works

French address geocoding on the official Base Adresse Nationale (api-adresse.data.gouv.fr, Etalab/IGN, continuously updated). Forward: ?q=8 boulevard du port amiens with optional &type=housenumber|street|locality|municipality &citycode=80021 (INSEE filter). Reverse: ?lat=49.897&lon=2.290. &limit=1-10 (default 3). Each match returns normalized label, confidence score, lat/lon, street, postcode, city, INSEE citycode and context. No match returns 400 (not billed). Cached 24h.

## Output

A JSON object with mode, query, source attribution, and a matches array. Each match includes latitude, longitude, formatted label, street name, city, postcode, INSEE citycode, Département context, match type (housenumber/street/locality/municipality), and a confidence score (0–1).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "q": {
       "type": "string",
       "description": "Free-text French address (forward mode)"
      },
      "lat": {
       "type": "number",
       "description": "Latitude (reverse mode, with lon)"
      },
      "lon": {
       "type": "number",
       "description": "Longitude (reverse mode, with lat)"
      },
      "type": {
       "enum": [
        "housenumber",
        "street",
        "locality",
        "municipality"
       ],
       "type": "string",
       "description": "Restrict match type"
      },
      "limit": {
       "type": "integer",
       "description": "Max matches, 1-10 (default 3)"
      },
      "citycode": {
       "type": "string",
       "description": "Filter by 5-char INSEE city code"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "search",
  "count": 1,
  "query": "8 boulevard du port amiens",
  "source": "Base Adresse Nationale via api-adresse.data.gouv.fr (Etalab/IGN, Licence Ouverte 2.0)",
  "matches": [
   {
    "lat": 49.897442,
    "lon": 2.290084,
    "city": "Amiens",
    "type": "housenumber",
    "label": "8 Boulevard du Port 80000 Amiens",
    "score": 0.97072,
    "street": "Boulevard du Port",
    "context": "80, Somme, Hauts-de-France",
    "citycode": "80021",
    "postcode": "80000",
    "housenumber": "8"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/greeneris-french-address-geocoder-fd76bd0b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from data.greeneris.io](https://www.zero.xyz/host/data.greeneris.io/llms.txt)
