Skip to main content
GET
Competitive switch API

Frequently asked questions

A domain dropped technology A and adopted a competing technology B on the same host, with both events falling inside the window. Competitors are defined as technologies sharing the same primary category, so there is no such thing as a cross-category switch. That is deliberate, and it doubles as a guard: a web server moving behind a CDN is two different categories, so it can never be misread as a migration.
The destination distribution for your scope, corpus-wide and not capped by limit — the “247 left this technology, 69 went to WooCommerce” chart. Under a firmographic filter the flow shrinks to the matched cohort too. It is best-effort: on very large categories it can degrade to null rather than failing the request.
It is the absolute number of days between the churn and the adoption. A genuine in-place swap shows a tiny gap, usually 0 or 1 day, because the same re-crawl that first saw A gone also saw B present. A large gap suggests the two events are unrelated rather than a migration. Row confidence is graded from gap_days together with the churn side’s detection rate.
On a technology scope, from returns who left your anchor technology and where they went — the save-play list. to returns who arrived at your anchor and which competitor they left — the win list and case-study source. Direction is ignored on a category scope, which returns every migration inside the category.
Three common reasons. The two technologies may not share a primary category, in which case they are not competitors here. Both events must fall inside window, so widen it. Or the churn side may fall below min_confidence. Note also that a switch whose from-side is a known flapper on that host is downgraded to low confidence rather than dropped, so check the confidence field before assuming it is absent.

Authorizations

Authorization
string
header
required

API key in format tapi_live_[32-char] (live) or tapi_test_[32-char] (test)

Query Parameters

technology_id
integer

Scope by BuiltWith technology id. Provide exactly one of technology_id, technology or category_id.

technology
string

Scope by exact technology name. The technology must be detectable.

category_id
integer

Scope by category — fans out to every detectable technology whose primary category is this one.

direction
enum<string>
default:from

Technology scope only. from returns who left the anchor and where they went; to returns who came to the anchor and from where. Ignored for category scope.

Available options:
from,
to
window
string
default:30

Look-back window in days. Both the churn and the adoption must fall inside it. Clamped to 1–365.

min_confidence
number<float>
default:0.5

Minimum detection_rate on the churn side.

limit
integer
default:100

Rows returned. Clamped to 1–1000.

Required range: 1 <= x <= 1000
country
string

Filter to companies in this country (case-insensitive).

city
string

Filter to companies in this city (case-insensitive).

state
string

Filter to companies in this state or region (case-insensitive).

industry
string

Filter to companies in this industry (case-insensitive).

industry_code
integer

Filter by exact LinkedIn industry code.

employees
string

Filter by exact LinkedIn employee band. Unknown bands are rejected with INVALID_EMPLOYEE_BAND and the allowed list.

company_type
string

Filter by exact company type.

founded_min
integer

Only companies founded in or after this year.

Required range: 1800 <= x <= 2025
founded_max
integer

Only companies founded in or before this year.

Required range: 1800 <= x <= 2025
company
boolean

Set to true to attach the company card without filtering results (enrich-only mode).

has_email
boolean

Filter to domains where the crawler found (or did not find) an email address. false is a real filter, not a no-op.

has_phone
boolean

Filter to domains where the crawler found (or did not find) a phone number.

social
enum<string>

Filter to domains publishing a profile on this platform.

Available options:
linkedin,
x,
facebook,
instagram,
youtube,
github,
tiktok,
discord,
reddit,
crunchbase,
slack
language
string

Filter by the site's primary language.

web_country
string

Filter by the country the site declares in its schema.org markup. Accepts ISO-2, English name or common variants.

segment_id
string

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

Switch events and the destination distribution

success
boolean
Example:

true

data
object