Audiences are the foundation of Descovo’s scale enrichment workflows. An audience is a saved list of companies and prospects that you build once from search filters, then enrich and export without needing to hold thousands of records in memory. Follow the seven steps below in order — skipping steps or changing audience state out of sequence causesDocumentation Index
Fetch the complete documentation index at: https://docs.descovo.com/llms.txt
Use this file to discover all available pages before exploring further.
400 errors.
The workflow at a glance
Step 1: Create an audience
Create an empty audience. This is free and puts the audience inDRAFT status.
Endpoint: POST /v1/audiences/create
Your Descovo API key.
A descriptive name for the audience, e.g.
"AI VPs in US".How the audience should be built:
"NORMAL"— search companies first, then find prospects at those companies (typical use case)"START_FROM_PROSPECTS"— search prospects directly without a company filter
audienceId — you’ll use it for every subsequent step.
Step 2: Set search filters
Define the company and prospect filters for your audience. This is free and only allowed while the audience is inDRAFT status.
Endpoint: PATCH /v1/audiences/{audienceId}/search-params
Your Descovo API key.
Company filters using the same schema as Company Search. Applies when
creationMethod is "NORMAL".People filters using the same schema as People Search.
Maximum number of companies to include in the audience.
Maximum number of prospects to include in the audience.
You can only set search params while the audience is in
DRAFT. If you receive a 400 because the audience has already been built, create a new audience and start over.Step 3: Build the audience
Trigger the search and save the results to the audience. This transitions the status fromDRAFT to BUILDING, then to NORMAL once complete.
Endpoint: POST /v1/audiences/{audienceId}/build
Your Descovo API key.
GET /v1/audiences/aud_123?apiKey=sk_live_xxx until status is NORMAL before proceeding to enrichment.
Step 4: Estimate enrichment cost
Before committing credits to enrichment, request a cost and time estimate. This is always free. Endpoint:POST /v1/audiences/{audienceId}/enrichment/estimate
Your Descovo API key.
Cap the number of prospects to enrich. Useful for reducing cost on large audiences.
Which contact data to retrieve (
getWorkEmails, getPersonalEmails, getPhoneNumbers).Whether to run live company enrichment for companies in the audience.
Whether to run live profile enrichment for prospects in the audience.
Whether to run Sales Navigator enrichment (free when available).
Whether to run contact reveal (email and phone).
totalCredits and timeEstimate.formatted and ask for explicit confirmation before proceeding. If the estimate is too high, they can reduce maxProspectsToEnrich or disable some enrichment types.
Step 5: Trigger enrichment
Once the user confirms the estimate, start the enrichment run. Credits are charged upfront. Endpoint:POST /v1/audiences/{audienceId}/enrich
Your Descovo API key.
Must match the value used in your estimate.
Must match the configuration used in your estimate.
Whether to run live company enrichment.
Whether to run live profile enrichment.
Whether to run Sales Navigator enrichment.
Whether to run contact reveal.
If provided, Descovo sends an email notification when enrichment completes.
enrichmentId alongside the audienceId to track progress in the next step.
Step 6: Poll enrichment status
Check the enrichment progress until it completes. Polling is free. Endpoint:GET /v1/audiences/{audienceId}/enrichment/status
Auth: Pass your API key as a query parameter: ?apiKey=sk_live_xxx
Response
progressPercent reaches 100 or currentStage is "DONE".
Step 7: Export results
Once enrichment is complete, export companies or prospects as CSV. Exports are free but subject to account export quotas.- Export prospects
- Export companies
Endpoint:
POST /v1/audiences/{audienceId}/export/prospectsYour Descovo API key.
Export format. Use
"PROSPECT_GENERIC_CSV" for a standard CSV.When
true, only include prospects where at least one email or phone number was found.Maximum number of rows to include in the export.
Field names to omit from the export.
If provided, Descovo emails download links when the export is ready.
Always include
userEmail so you receive download links by email, even if the session ends before the export completes.Common errors
| Error | Cause | Resolution |
|---|---|---|
401 Invalid API key | The apiKey value is missing or incorrect | Provide a valid Descovo API key and retry |
404 Audience not found | The audienceId is wrong or belongs to a different account | Verify the audience ID; create a new audience if needed |
400 Invalid status for operation | Attempted build or filter change on a non-DRAFT audience; attempted enrichment on a non-NORMAL audience | Check the current audience status and take the appropriate next action (poll if building, create a new audience if failed) |
429 Rate limited | Too many requests in a short period | Wait before retrying; do not retry in a tight loop |