---
title: "Launch a Google Maps business search (async; debits credits)"
method: POST
path: "/api/searches"
---

# Launch a Google Maps business search (async; debits credits)

`POST /api/searches`

## Request

- Base URL: `https://lead-radar.fr`
- URL: `https://lead-radar.fr/api/searches`
- Auth: HTTP bearer

Cost: 1 credit by default; a KEYWORD search with radiusKm costs more as the radius grows. Refunded on failure. Poll GET /api/searches/{id} until COMPLETED.

## Request body

- union
  - object
    - `type` 'KEYWORD', required
    - `keyword` string, required
    - `location` string, required
    - `radiusKm` integer
    - `deep` boolean: Deep search (KEYWORD needs radiusKm; MAPS_URL uses the radius derived from the URL zoom): a grid cell that hits the 60-result cap is split into 4. Reserves 1 extra credit per grid cell at launch, keeps 1 per cell actually split, refunds the rest at the end.
  - object
    - `type` 'MAPS_URL', required
    - `mapsUrl` string, uri, required
    - `deep` boolean: Deep search (KEYWORD needs radiusKm; MAPS_URL uses the radius derived from the URL zoom): a grid cell that hits the 60-result cap is split into 4. Reserves 1 extra credit per grid cell at launch, keeps 1 per cell actually split, refunds the rest at the end.

## Response `200`

Search created (status PENDING)

- Search
  - `id` string
  - `projectName` string
  - `searchType` 'KEYWORD' | 'MAPS_URL'
  - `status` 'PENDING' | 'PROCESSING' | 'PAUSED' | 'COMPLETED' | 'FAILED'
  - `totalFound` integer
  - `totalNew` integer
  - `cellsDone` integer
  - `cellsTotal` integer

## Other responses

- `402`: Insufficient credits

---

[API](https://skmtc.dev/lead-radar/apis/lead-radar-api.md) · [All operations](https://skmtc.dev/lead-radar/apis/lead-radar-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lead-radar/apis/lead-radar-api/revisions/fc784e24533c?raw)
