prospects

Enrich prospects with contact data

Asynchronous. Searches for matching prospects, reserves credits up to maxProspects, and queues a contact-enrichment job that resolves decision-maker emails and titles.

Flow:

  1. POST this endpoint → 202 Accepted with taskId, pollUrl, creditsReserved, estimatedWaitSeconds (~120s typical).
  2. Poll GET /v1/jobs/{taskId} every 5s until data.status is completed or failed (allow up to 5 minutes).
  3. Inspect per-prospect enrichmentStatus: enriched (email returned, credit charged), no_email (no contact found, no credit charged), failed.

Tip: narrow filters return higher enriched rates. The same filter shape as /v1/prospects/search works here — preview with search first, then enrich.

Example — enrich up to 25 Texas trucking fleets:

{
  "filters": [{
    "state": ["TX"],
    "naicsList": ["484110", "484121"],
    "minEmployeesNumber": 25,
    "maxEmployeesNumber": 250,
    "hasWc": true,
    "hasDot": true
  }],
  "maxProspects": 25
}
post/v1/prospects/enrich

Request

  • Base URL: https://api.meetleo.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.meetleo.com/v1/prospects/enrich
  • Auth: HTTP bearer

Request body

maxProspectsnumber

Cap on the number of prospects to enrich in this run (1–100). Credits reserved scale with this number — start small (e.g. 10) for new integrations.

maxContactsPerProspectnumber

Cap on the number of contacts returned per prospect (1–10). Does not affect billing — a prospect is charged once when it yields any email-bearing contact, regardless of how many contacts are returned.

Example request

{
  "filters": [
    {
      "state": [
        "TX"
      ],
      "naicsList": [
        "484110",
        "484121"
      ],
      "minEmployeesNumber": 25,
      "maxEmployeesNumber": 250,
      "hasWc": true,
      "hasDot": true
    }
  ],
  "maxProspects": 25,
  "maxContactsPerProspect": 5
}

Response

Accepted — poll GET /v1/jobs/{taskId} for results

taskIdstring uuid required

Opaque job identifier — pass to GET /v1/jobs/{taskId}.

statusstring required

Initial job state immediately after accept.

pollUrlstring required

Relative path to poll for job completion.

creditsReservednumber required

Credits reserved up front (≤ maxProspects). Final charge in metadata.creditsUsed on the completed job — only enriched rows are billed.

estimatedWaitSecondsnumber required

Expected job duration in seconds (typical ~120).

Example response

{
  "taskId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "pollUrl": "/v1/jobs/550e8400-e29b-41d4-a716-446655440000",
  "creditsReserved": 25,
  "estimatedWaitSeconds": 120
}

Changes

No recorded changes to this operation across all 1 revision of this API.