Audiences are saved lists of companies and prospects. You define search filters, build the audience to populate it from Descovo’s database, optionally enrich contact details, and then export the results as a CSV. The workflow follows a fixed sequence of nine steps — skipping or reordering them causes validation errors. This page documents each endpoint in order, with request parameters, response fields, and examples.Documentation Index
Fetch the complete documentation index at: https://docs.descovo.com/llms.txt
Use this file to discover all available pages before exploring further.
Always follow the steps in sequence: create → set filters → build → poll status → estimate enrichment → enrich → poll enrichment → export. Attempting to build before setting filters, or enriching before building, returns a
400 error.Step 1: Create audience
Create an empty audience inDRAFT status. No credits are charged at this step.
Method: POSTPath:
/v1/audiences/createAuth:
apiKey in body
Parameters
Your Descovo API key.
A display name for this audience, e.g.
"AI VPs in US".How the audience searches for prospects.
"NORMAL" searches companies first, then finds prospects within those companies. "START_FROM_PROSPECTS" searches prospects only, without a company filter step.Example
Response
audienceId — you need it for every subsequent step.
Step 2: Set search filters
Attach company and prospect filter criteria to the audience. You can only do this while the audience is inDRAFT status.
Method: PATCHPath:
/v1/audiences/{audienceId}/search-paramsAuth:
apiKey in body
Parameters
Your Descovo API key.
Company filters using the same schema as company search. Supports
keywords, headquartersCountryCode, employeeCountV2, industriesV2, stage, and all other company search fields.People filters using the same schema as people search. Supports
jobTitleV2, country3LetterCode, yearsOfExperience, tags, and all other people search fields.Maximum number of companies to include in the audience build.
Maximum number of prospects to include in the audience build.
Example
Response
Step 3: Build audience
Trigger the audience build. Descovo runs the company and people searches and saves the results to the audience. The audience transitions fromDRAFT to BUILDING, then to NORMAL (or FAILED) when complete. Credits are charged per result found after the build completes.
Method: POSTPath:
/v1/audiences/{audienceId}/buildAuth:
apiKey in body
Parameters
Your Descovo API key.
Example
Response
400— audience is alreadyBUILDING(poll status instead), alreadyNORMAL(create a new audience for new filters), orFAILED(create a new audience).
Step 4: Poll audience status
Poll to check whether the audience build has completed before proceeding to enrichment. Method:GETPath:
/v1/audiences/{audienceId}Auth:
apiKey as query parameter
Example request
Response
status is "NORMAL". If status becomes "FAILED", create a new audience and retry.
Step 5: Estimate enrichment cost
Get a free cost and time estimate before triggering enrichment. Always call this step and show the estimate to users before proceeding. Method:POSTPath:
/v1/audiences/{audienceId}/enrichment/estimateAuth:
apiKey in bodyCost: Free
Parameters
Your Descovo API key.
Cap the number of prospects to include in enrichment. Useful for controlling cost on large audiences.
Which contact data types to request.
Include live LinkedIn enrichment for companies in the audience.
Include live LinkedIn enrichment for prospect profiles.
Include Sales Navigator data for prospects.
Include contact enrichment (emails and phones).
Example
Response
Step 6: Trigger enrichment
Start the enrichment job. Credits are charged upfront. Only trigger this after the user has confirmed the estimate from Step 5. Method:POSTPath:
/v1/audiences/{audienceId}/enrichAuth:
apiKey in body
Parameters
Your Descovo API key.
Maximum prospects to enrich. Match the value used in your estimate.
Contact data types to request. Match the values used in your estimate.
Run live LinkedIn enrichment for companies.
Run live LinkedIn enrichment for prospect profiles.
Include Sales Navigator data.
Run contact enrichment (emails and phones).
Optional email address. If provided, Descovo sends a notification when enrichment completes.
Example
Response
enrichmentId along with your audienceId — you need both to poll enrichment status.
Step 7: Poll enrichment status
Poll to track enrichment progress until it completes. Method:GETPath:
/v1/audiences/{audienceId}/enrichment/statusAuth:
apiKey as query parameterCost: Free
Example request
Response
progressPercent reaches 100 or currentStage indicates completion.
Step 8: Export companies
Export the companies in the audience to CSV. This step is free. Method:POSTPath:
/v1/audiences/{audienceId}/export/companiesAuth:
apiKey in bodyCost: Free (subject to export quota)
Parameters
Your Descovo API key.
Export format. Use
"COMPANY_GENERIC_CSV" for a standard company CSV.Maximum number of company rows to include in the export.
Field names to omit from the export, e.g.
["internalId"].Optional email address. Descovo sends a download link to this address when the export is ready.
Example
Response
Step 9: Export prospects
Export the enriched prospects in the audience to CSV. This step is free. Method:POSTPath:
/v1/audiences/{audienceId}/export/prospectsAuth:
apiKey in bodyCost: Free (subject to export quota)
Parameters
Your Descovo API key.
Export format. Use
"PROSPECT_GENERIC_CSV" for a standard prospect CSV.When
true, only exports prospects for whom at least one contact detail (email or phone) was found.Maximum number of prospect rows to include in the export.
Field names to omit from the export.
Optional email address for download link delivery.
Example
Response
Common error codes
| Code | Cause | Resolution |
|---|---|---|
401 | Invalid or missing API key | Check your apiKey value and retry. |
400 | Invalid audience status for the requested operation | Check the current status with Step 4 (poll status) and follow the valid next action. |
404 | Audience not found or access denied | Confirm the audienceId is correct. Create a new audience if needed. |
429 | Rate limit exceeded | Back off and retry after a delay. |