API & webhooks
API keys, webhook endpoints, SDK quick-start
API keys
Use these in X-API-KEY header · keys are shown once; copy now
| Name | Key | Created | Last used | Status | |
|---|---|---|---|---|---|
| Production · backend | ls_prod_•••••••••••cN8q | 22 Apr 2026 | 2 min ago | Active | |
| Staging | ls_stg_•••••••••••f2Vh | 10 Apr 2026 | 3 hours ago | Active | |
| n8n integration | ls_int_•••••••••••aB3p | 05 Mar 2026 | yesterday | Active | |
| Old prototype | ls_dev_•••••••••••x7Tm | 14 Jan 2026 | 83 days ago | Revoked |
Quick start
Run a Maps scrape in 6 lines · pick your stack
curl -X POST https://api.livescraper.com/v1/maps/run \
-H "X-API-KEY: $LIVESCRAPER_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "dental clinics",
"location": "Houston, TX",
"radius_km": 8,
"max_rows": 200
}'
from livescraper import Client
client = Client(api_key="ls_prod_•••")
task = client.maps.run(
query="dental clinics",
location="Houston, TX",
radius_km=8,
max_rows=200,
)
rows = task.wait().rows()
import Livescraper from "@livescraper/sdk";
const client = new Livescraper({ apiKey: process.env.LS_KEY });
const task = await client.maps.run({
query: "dental clinics",
location: "Houston, TX",
radiusKm: 8,
maxRows: 200,
});
const rows = await task.rows();
client := livescraper.New(os.Getenv("LS_KEY"))
task, err := client.Maps.Run(ctx, livescraper.MapsRequest{
Query: "dental clinics",
Location: "Houston, TX",
RadiusKm: 8,
MaxRows: 200,
})
rows, err := task.Wait().Rows()
Webhook endpoints
POST events when a task starts, completes or fails
| URL | Events | Last delivery | Status |
|---|---|---|---|
| https://app.northwind.com/webhooks/livescraper | task.completed, task.failed | 2 min ago · 200 OK | Healthy |
| https://hooks.zapier.com/hooks/catch/2k7… | task.completed | 14 min ago · 200 OK | Healthy |
| https://staging.northwind.com/wh/ls | task.completed | 3 days ago · 502 | Failing |