Skip to main content
API documentation

Connect research results to the workflow that follows.

Growth workspaces include read access. Professional workspaces include read and write access for supported research workflows.

Illustrative product preview

Grouped research

Ready
three related markets

One campaign

Records

Structured

Contacts

When found

Export

CSV

Chicago dentistsReady
Evanston dentistsReview
Oak Park dentistsReview

Authentication

Use a scoped workspace API key.

Create keys inside Dashboard → API & integrations. Grant only the permissions your integration needs and send the key with every request.

Base URL

https://YOUR_LEAD_GATHERER_DOMAIN

Request headers

Authorization: Bearer lg_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-value-for-this-job

The default API-key limit is 120 requests per minute. The current value appears with the key in API & integrations. A rate-limited response includes HTTP 429 and a Retry-After header.

Endpoints

Available endpoints.

GET/api/research/jobs

List research jobs with pagination and filters.

POST/api/research/jobs

Create a research job with Professional write access.

POST/api/businesses/lookup

Find one business, enrich a list, or refresh existing records. Professional API write access is required.

GET/api/research/jobs/{id}

Read one job and its current status.

GET/api/research/jobs/{id}/results

Read a paginated result preview.

GET/api/research/jobs/{id}/download

Download all available results as CSV.

GET/api/research/jobs/{id}/log

Read the processing log for a job.

Create example

Start focused research from a Professional integration.

Professional write request

POST /api/research/jobs
Idempotency-Key: campaign-2026-07-warsaw-dentists

{
  "name": "Warsaw dental market",
  "keywords": ["dentists in Warsaw"],
  "lang": "en",
  "depth": 10,
  "email": true
}

400

Invalid request or unsupported values

401 / 403

Missing key, permission, role, or plan access

409 / 429

Concurrency or request-rate limit reached

Business enrichment

Look up one business or submit a reviewed list.

Business lookup request

POST /api/businesses/lookup

{
  "mode": "upload",
  "records": [
    {
      "record_id": "crm-1042",
      "business_name": "Acme Construction",
      "location": "Sacramento, California"
    }
  ]
}

Use single for one company, upload for a list of business records, or refresh when rechecking existing records. The workspace plan controls record count, contact enrichment, and refresh access.

Job status

Treat research jobs as asynchronous.

Send a unique Idempotency-Key when creating a job, retain the returned ID, and poll with reasonable backoff. Safe retries with the same key return the original job. Completed jobs and interrupted jobs with retained results can contain downloadable data. Check the result count and status before downloading.

Create → retain job ID → poll with backoff → preview or download

Create response

{
  "id": "186e836f-3c1a-4953-912c-83e9233cdd8d"
}

Error response

{
  "error": "Rate limit exceeded. Retry in 30s"
}

Pagination

Use limit and offset on list and result endpoints. Keep page sizes bounded for responsive integrations.

Safe retries

Reuse the same Idempotency-Key when retrying a create request so the original job is returned.

Timeouts

Timed-out jobs can still contain results. Check the result count before deciding whether to continue.

Ready when you are

Connect Lead Gatherer to your existing tools.

Create a scoped API key in your workspace. Growth supports reading results; Professional also supports creating searches.

REST API documentation | Lead Gatherer