Developer Docs

Lowkey Scraper API

Submit audit, discovery, enrichment, and SERP jobs via REST. Cached results are returned at 0 credits — the smart fee. Pay only for fresh intelligence.

Authentication

API Key auth

Include in every request

Pass your key as a Bearer token in the Authorization header.

Authorization: Bearer sk_live_<YOUR_KEY>

Error codes

Standard HTTP codes — same envelope shape for every response.

200 / 202Success
400Bad request — check body
401Missing or invalid API key
402Insufficient credits
429Rate limited — slow down

Smart Fee

Credit costs

Identical requests within 24 hours return cached results at 0 credits.

5

credits

AUDIT

2

credits

DISCOVERY

1

credits

ENRICH

1

credits

SERP

1

credits

LEAD_VIEW

0

credits

LEAD_EXPORT

Smart fee: if you submit an identical job (same type + input) within 24 hours, the cached result is returned instantly at 0 credits. Deduplication is free.

Reference

Endpoints

POST/api/v1/jobsCreate a scrape job (AUDIT, DISCOVERY, ENRICH, SERP)
API Key
GET/api/v1/jobs/:idPoll job status and retrieve result
API Key
POST/api/v1/auditsSubmit a website audit — convenience shortcut
API Key
GET/api/v1/usageUsage summary, credit balance, and recent events
API Key
GET/api/v1/keysList your organization's API keys
Session
POST/api/v1/keysCreate an API key (raw secret shown once)
Session
DELETE/api/v1/keys/:idRevoke an API key permanently
Session

Examples

cURL examples

Create an audit job

curl -X POST https://lowkeyagency.ca/api/v1/audits \
  -H "Authorization: Bearer sk_live_<YOUR_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

Poll for result

curl https://lowkeyagency.ca/api/v1/jobs/<JOB_ID> \
  -H "Authorization: Bearer sk_live_<YOUR_KEY>"

Check usage

curl https://lowkeyagency.ca/api/v1/usage \
  -H "Authorization: Bearer sk_live_<YOUR_KEY>"

Create a discovery job

curl -X POST https://lowkeyagency.ca/api/v1/jobs \
  -H "Authorization: Bearer sk_live_<YOUR_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"type": "DISCOVERY", "input": {"query": "dental clinics", "city": "Toronto"}}'

Interactive

Try the API

Full OpenAPI spec rendered below. Send live requests from your browser.

Docs not loading? View raw OpenAPI spec