Export signals to CSV API
Download an adoption or churn query as a 27-column CSV with company and contact data attached. Billed at 1 credit per exported row, charged after completion.
Frequently asked questions
How is the export billed?
How is the export billed?
X-Credits-Cost and X-Export-Rows response headers report the exact figures. Because the underlying scan runs regardless of how many rows you take, every export that runs debits at least 1 credit — a key can never trigger more scans than it holds credits.What happens if the match is bigger than my credit balance?
What happens if the match is bigger than my credit balance?
X-Export-Capped: credits. Top up and run it again to pull the rest. A key with zero credits gets a 402 and the scan never runs at all.How do I limit what I download and pay for?
How do I limit what I download and pay for?
limit. It bounds both the delivered rows and the bill, and is clamped to 10,000. Omit it for a full export up to that cap. For extraction beyond 10,000 rows, use lead lists instead — they run as a background job built for volume.Which columns are in the file?
Which columns are in the file?
has_email=true actually returns the email addresses. Both blocks are left-joined, so a domain with no match exports empty cells rather than being dropped.Can I export switch or whitespace results?
Can I export switch or whitespace results?
churn and adoption only, because switch and whitespace have different row shapes. For those, page through the JSON endpoints or build a lead list.Authorizations
API key in format tapi_live_[32-char] (live) or tapi_test_[32-char] (test)
Path Parameters
The signal type to export. Switch and whitespace have different row shapes and are not exportable.
churn, adoption "adoption"
Query Parameters
Scope by BuiltWith technology id. Provide exactly one of technology_id, technology or category_id.
Scope by exact technology name. The technology must be detectable.
Scope by category — fans out to every detectable technology whose primary category is this one.
Look-back window in days. Clamped to 1–365.
Bounds both the delivered rows and the bill. Clamped to 10,000. Omit for a full export up to that cap.
x <= 10000Minimum detection_rate for a row to be exported.
Adoption only. Disables the first-seen gate.
Filter to companies in this country (case-insensitive).
Filter to companies in this city (case-insensitive).
Filter to companies in this state or region (case-insensitive).
Filter to companies in this industry (case-insensitive).
Filter by exact LinkedIn industry code.
Filter by exact LinkedIn employee band. Unknown bands are rejected with INVALID_EMPLOYEE_BAND and the allowed list.
Filter by exact company type.
Only companies founded in or after this year.
1800 <= x <= 2025Only companies founded in or before this year.
1800 <= x <= 2025Set to true to attach the company card without filtering results (enrich-only mode).
Filter to domains where the crawler found (or did not find) an email address. false is a real filter, not a no-op.
Filter to domains where the crawler found (or did not find) a phone number.
Filter to domains publishing a profile on this platform.
linkedin, x, facebook, instagram, youtube, github, tiktok, discord, reddit, crunchbase, slack Filter by the site's primary language.
Filter by the country the site declares in its schema.org markup. Accepts ISO-2, English name or common variants.
Apply a saved audience instead of inline filters. Filter audiences replay their firmographic predicates; list audiences restrict rows to their member domains. Mutually exclusive with inline firmographic parameters.
Response
CSV file with a fixed 27-column header
The response is of type file.