{"openapi":"3.1.0","info":{"title":"Stack Lookup API","version":"1.0.0-draft","description":"Company-resolved technographics with dated change, verified since 2020. Data by Veridion."},"servers":[{"url":"https://stacklookup.ai/v1"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"technologies"},{"name":"domains"},{"name":"companies"},{"name":"lists"},{"name":"trends"},{"name":"changes"},{"name":"bulk"},{"name":"account"}],"paths":{"/technologies":{"get":{"tags":["technologies"],"summary":"Search technologies by name, alias or category (free)","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"category","in":"query","schema":{"type":"string"},"description":"L0","L1 or L2 slug":null},{"name":"kind","in":"query","schema":{"$ref":"#/components/schemas/Kind"}},{"$ref":"#/components/parameters/cursor"},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"description":"Start of the page, for addressable pages. Ignored when a cursor is given."},{"$ref":"#/components/parameters/page_size"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnologyList"}}}}}}},"/technologies/{key}":{"get":{"tags":["technologies"],"summary":"Technology record with vendor, adoption facets, trend and competitors (free, no key)","security":[],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"description":"tech_id","slug or exact name":null}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnologyProfile"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/technologies/{key}/distribution":{"get":{"tags":["technologies"],"summary":"Traffic tiers, countries, industries, sizes and top sites for a technology (free)","description":"The technology page of the trends product. Counts are sample counts with the x200 estimate beside them; traffic tiers come from our own crawl rank.","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"description":"tech_id","slug or exact name":null}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnologyDistribution"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/categories":{"get":{"tags":["technologies"],"summary":"The category tree, L0 to L2 (free)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/CategoryNode"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/vendors/{org_id}":{"get":{"tags":["technologies"],"summary":"Vendor company card and its technologies (free)","parameters":[{"$ref":"#/components/parameters/org_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}}}}},"/domains/{domain}":{"get":{"tags":["domains"],"summary":"Host or root profile with detection intervals, versions, evidence and company refs (1 credit, 2 with evidence and history)","parameters":[{"$ref":"#/components/parameters/domain"},{"name":"live_only","in":"query","schema":{"type":"boolean","default":true}},{"name":"countable_only","in":"query","schema":{"type":"boolean","default":true}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"first_verified_after","in":"query","schema":{"type":"string","format":"date"}},{"name":"last_verified_after","in":"query","schema":{"type":"string","format":"date"}},{"name":"hosts","in":"query","schema":{"type":"string","enum":["all","root"],"default":"all"}},{"name":"include","in":"query","schema":{"type":"string"},"description":"comma list of evidence","history":null}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainProfile"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/domains/{domain}/summary":{"get":{"tags":["domains"],"summary":"Counts per category, first and last crawled, freshness (free, no key)","security":[],"parameters":[{"$ref":"#/components/parameters/domain"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainSummary"}}}}}}},"/domains/{domain}/history":{"get":{"tags":["domains"],"summary":"Verification series per host and technology (1 credit)","parameters":[{"$ref":"#/components/parameters/domain"},{"name":"technology","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/History"}}}}}}},"/domains/{domain}/changes":{"get":{"tags":["changes"],"summary":"Change events on this root and its hosts (1 credit when events exist)","parameters":[{"$ref":"#/components/parameters/domain"},{"$ref":"#/components/parameters/since"},{"$ref":"#/components/parameters/kind"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeList"}}}}}}},"/domains/{domain}/relationships":{"get":{"tags":["domains"],"summary":"Other hosts and domains of the same company and group (1 credit)","parameters":[{"$ref":"#/components/parameters/domain"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relationships"}}}}}}},"/companies/resolve":{"get":{"tags":["companies"],"summary":"Resolve a domain or a name plus country to company candidates (1 credit)","parameters":[{"name":"domain","in":"query","schema":{"type":"string"}},{"name":"name","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"$ref":"#/components/schemas/Iso2Input"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveResult"}}}}}}},"/companies/{org_id}":{"get":{"tags":["companies"],"summary":"Company with firmographics, group, legal ids, domains and aggregated stack (2 credits)","parameters":[{"$ref":"#/components/parameters/org_id"},{"name":"include","in":"query","schema":{"type":"string"},"description":"comma list of products","esg":null,"locations (v1.5)":null}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/companies/{org_id}/technologies":{"get":{"tags":["companies"],"summary":"Paginated stack (1 credit per page)","parameters":[{"$ref":"#/components/parameters/org_id"},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/page_size"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionList"}}}}}}},"/companies/{org_id}/changes":{"get":{"tags":["changes"],"summary":"Change events across the company's hosts (1 credit per page)","parameters":[{"$ref":"#/components/parameters/org_id"},{"$ref":"#/components/parameters/since"},{"$ref":"#/components/parameters/kind"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeList"}}}}}}},"/companies/{org_id}/domains":{"get":{"tags":["companies"],"summary":"Domains and hosts of the company (1 credit per page)","parameters":[{"$ref":"#/components/parameters/org_id"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"domains":{"type":"array","items":{"$ref":"#/components/schemas/HostRef"}},"next_cursor":{"type":["string","null"]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}}}},"/groups/{hq_org_id}/technologies":{"get":{"tags":["companies"],"summary":"Technology footprint of a corporate group (2 credits)","parameters":[{"name":"hq_org_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupFootprint"}}}}}}},"/lists/count":{"post":{"tags":["lists"],"summary":"Count companies matching a filter, with facets (free, no key)","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListFilter"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountResult"}}}},"400":{"$ref":"#/components/responses/InvalidFilter"}}}},"/lists/companies":{"post":{"tags":["lists"],"summary":"Companies matching a filter (1 credit per 25 rows)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListFilter"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyRows"}}}},"400":{"$ref":"#/components/responses/InvalidFilter"},"402":{"$ref":"#/components/responses/InsufficientCredits"}}}},"/lists/hosts":{"post":{"tags":["lists"],"summary":"Hosts matching a filter (1 credit per 50 rows)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListFilter"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostRows"}}}}}}},"/trends/technologies/{key}":{"get":{"tags":["trends"],"summary":"Monthly adoption series for a technology by dimension (free)","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/dimension"},{"name":"value","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrendSeries"}}}}}}},"/trends/categories/{slug}":{"get":{"tags":["trends"],"summary":"Market share, leaders and series inside a category (free)","description":"The category page of the trends product for an L1 or L2 node. The body is the same CategoryTrends document as /trends/categories/{l1}/{l2}; the legacy `rows` and `series` fields are kept beside the newer `technologies` and `share_series` for older callers.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/dimension"},{"name":"value","in":"query","schema":{"type":"string"}},{"name":"month","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}},{"name":"from","in":"query","schema":{"type":"string"}},{"name":"to","in":"query","schema":{"type":"string"}},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/page_size"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryTrends"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/trends/categories/{l1}/{l2}":{"get":{"tags":["trends"],"summary":"Market share, leaders and series inside an L2 subcategory (free)","description":"The category page of the trends product. Same body as /trends/categories/{slug} for an L2 node.","parameters":[{"name":"l1","in":"path","required":true,"schema":{"type":"string"}},{"name":"l2","in":"path","required":true,"schema":{"type":"string"}},{"name":"month","in":"query","schema":{"type":"string"}},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/page_size"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryTrends"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/trends/taxonomies":{"get":{"tags":["trends"],"summary":"The industry taxonomies a company is filed under (free)","description":"Five taxonomies over the same companies: NAICS sectors, ISIC rev 4, NACE rev 2, UK SIC 2007 and Veridion's own business category. `companies` is counted live per taxonomy, so it reports the coverage of the loaded index rather than a published figure, and `codes` is how many codes carry a title.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxonomyList"}}}}}}},"/trends/taxonomies/{taxonomy}":{"get":{"tags":["trends"],"summary":"Every code of one taxonomy with its company count (free)","description":"The index behind /trends/industries/{taxonomy}/{code}: the codes grouped into sections, each with the companies running any technology. `companies` is the whole taxonomy, technology or not, so the two numbers together say how much of it the technology view covers. A code the classifier emits but the published list does not title gets no row.","parameters":[{"$ref":"#/components/parameters/taxonomy"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxonomyCodes"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/trends/industries/{naics2}":{"get":{"tags":["trends"],"summary":"Technology profile of an industry at a month (free)","description":"The NAICS sector profile. Identical to /trends/industries/naics/{code} and kept at this path for the callers it had before the other four taxonomies existed; `taxonomy` is \"naics\" and `naics2` repeats the code.","parameters":[{"name":"naics2","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{2}$"}},{"name":"month","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"$ref":"#/components/schemas/Iso2Input"}},{"name":"employee_band","in":"query","schema":{"type":"string"}},{"$ref":"#/components/parameters/per_category"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndustryProfile"}}}},"400":{"$ref":"#/components/responses/InvalidFilter"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/trends/industries/{taxonomy}/{code}":{"get":{"tags":["trends"],"summary":"Technology profile of an industry in any taxonomy (free)","description":"The same profile for any of the five taxonomies. `code` is the URL slug rather than the code itself, because neither a dot nor a slash survives a path segment: NACE \"46.69\" is \"46-69\" and UK SIC \"70.22/9\" is \"70-22-9\". Take the slug from /trends/taxonomies/{taxonomy}; a slug that names no code is a 404 rather than a guess. `naics2` is null for the other four taxonomies.","parameters":[{"$ref":"#/components/parameters/taxonomy"},{"name":"code","in":"path","required":true,"schema":{"type":"string"},"example":"46-69","description":"The slug of the code, from GET /trends/taxonomies/{taxonomy}."},{"name":"month","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"$ref":"#/components/schemas/Iso2Input"}},{"name":"employee_band","in":"query","schema":{"type":"string"}},{"$ref":"#/components/parameters/per_category"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndustryProfile"}}}},"400":{"$ref":"#/components/responses/InvalidFilter"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/trends/movers":{"get":{"tags":["trends"],"summary":"Technologies that gained and lost the most companies over a window (free)","description":"Two ranked lists over the same window, never one: the largest gain runs two orders of magnitude above the largest loss, so the directions do not share a scale. median_pct_change is the context a gain has to be read against, since the crawl universe itself grows over a window.","parameters":[{"name":"months","in":"query","schema":{"type":"integer","minimum":1,"maximum":72,"default":12}},{"name":"min_companies","in":"query","schema":{"type":"integer","minimum":0,"default":20000}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":25,"default":5}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrendMovers"}}}}}}},"/trends/migrations":{"get":{"tags":["trends"],"summary":"Switches between technologies within a subcategory over time (free)","parameters":[{"name":"category","in":"query","schema":{"type":"string"}},{"name":"from_tech","in":"query","schema":{"type":"string"}},{"name":"to_tech","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string"}},{"name":"to","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MigrationTable"}}}}}}},"/changes":{"get":{"tags":["changes"],"summary":"Universe change feed (1 credit per 25 events)","parameters":[{"name":"technology","in":"query","schema":{"type":"string"}},{"$ref":"#/components/parameters/kind"},{"name":"country","in":"query","schema":{"$ref":"#/components/schemas/Iso2Input"}},{"$ref":"#/components/parameters/since"},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/page_size"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeFeed"}}}}}}},"/webhooks":{"post":{"tags":["changes"],"summary":"Register a filtered change webhook (paid tiers)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}}}},"get":{"tags":["changes"],"summary":"List webhooks","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}}}}}}}}},"/webhooks/{id}":{"delete":{"tags":["changes"],"summary":"Delete a webhook","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deleted"}}}},"/bulk/domains":{"post":{"tags":["bulk"],"summary":"Bulk domain profiles, sync up to 32, else a job (as lookup credits, volume discount)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["domains"],"properties":{"domains":{"type":"array","maxItems":10000,"items":{"type":"string"}},"options":{"type":"object","properties":{"live_only":{"type":"boolean","default":true},"include_evidence":{"type":"boolean","default":false}}}}}}}},"responses":{"200":{"description":"Synchronous result","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/DomainProfile"}}}}}}},"202":{"description":"Job accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJob"}}}}}}},"/bulk/{job_id}":{"get":{"tags":["bulk"],"summary":"Job status","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJob"}}}}}}},"/bulk/{job_id}/result":{"get":{"tags":["bulk"],"summary":"NDJSON of domain profiles, retained 7 days","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/x-ndjson":{"schema":{"type":"string"}}}},"409":{"description":"job_not_ready","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/me":{"get":{"tags":["account"],"summary":"Key, tier, limits (free)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}}}},"/usage":{"get":{"tags":["account"],"summary":"Credits used and remaining this period (free)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"vr_live_ key"}},"parameters":{"domain":{"name":"domain","in":"path","required":true,"schema":{"type":"string"},"description":"root domain or host"},"org_id":{"name":"org_id","in":"path","required":true,"schema":{"type":"string"}},"cursor":{"name":"cursor","in":"query","schema":{"type":"string"}},"page_size":{"name":"page_size","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},"since":{"name":"since","in":"query","schema":{"type":"string","format":"date"}},"kind":{"name":"kind","in":"query","schema":{"type":"string"},"description":"Comma-separated ChangeKind values. Defaults to technology_added, technology_removed, version_changed and detector_changed; first_observed only when named."},"dimension":{"name":"dimension","in":"query","schema":{"$ref":"#/components/schemas/Dimension"}},"taxonomy":{"name":"taxonomy","in":"path","required":true,"schema":{"$ref":"#/components/schemas/TaxonomyId"}},"per_category":{"name":"per_category","in":"query","schema":{"type":"integer","minimum":1,"maximum":25,"default":5},"description":"Technologies listed per L1 category. Out-of-range values are clamped."}},"responses":{"NotFound":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InvalidFilter":{"description":"invalid_filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InsufficientCredits":{"description":"insufficient_credits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Iso2":{"type":"string","pattern":"^[a-z]{2}$","description":"ISO 3166-1 alpha-2 in a response. Always lowercase."},"Iso2Input":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 in a request. Case-insensitive; lowercased before matching and echoed back lowercase in filter_used."},"Kind":{"type":"string","enum":["product","extension","library","standard","relationship"]},"Source":{"type":"string","enum":["wappalyzer","dns","footer_link","site_text","job_post"]},"Freshness":{"type":"string","enum":["fresh","recent","aging","stale"]},"ChangeKind":{"type":"string","enum":["technology_added","first_observed","technology_removed","version_changed","detector_changed"],"description":"technology_added is an adoption, the technology appeared after the host was already being crawled. first_observed is a first verification that falls on the first crawl of the host: backfill rather than change, left out unless kind names it."},"Dimension":{"type":"string","enum":["total","country","naics2","business_category","employee_band","revenue_band","platform"]},"Meta":{"type":"object","required":["verified_at","freshness","taxonomy_release","request_id"],"properties":{"verified_at":{"type":["string","null"],"format":"date-time","description":"Latest verification behind this response. Always present; null on the account and registration endpoints and on any response with no verified row."},"freshness":{"$ref":"#/components/schemas/Freshness"},"taxonomy_release":{"type":"string","example":"tax-2026.10"},"request_id":{"type":"string"},"credits_spent":{"type":"integer"}}},"Error":{"type":"object","required":["error","message","status","docs_url"],"properties":{"error":{"type":"string","enum":["invalid_key","insufficient_credits","not_found","invalid_filter","rate_limit_exceeded","job_not_ready"]},"message":{"type":"string"},"status":{"type":"integer"},"docs_url":{"type":"string"},"limit_type":{"type":"string"},"upgrade_url":{"type":"string"},"retry_after":{"type":"integer"},"suggestions":{"type":"array","items":{"type":"string"}}}},"CategoryRef":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"level":{"type":"integer","minimum":0,"maximum":2}}},"CategoryNode":{"type":"object","properties":{"slug":{"type":"string"},"level":{"type":"integer"},"parent":{"type":["string","null"]},"label":{"type":"string"},"definition":{"type":"string"},"tech_count":{"type":"integer"},"live_companies":{"type":"integer"}}},"Confidence":{"type":"object","required":["value","basis"],"properties":{"value":{"type":"number","minimum":0,"maximum":1},"basis":{"type":"string","example":"from 6 verifications across 2 hosts"}}},"Evidence":{"type":"object","properties":{"type":{"type":"string"},"host":{"type":"string"},"page_url":{"type":"string"},"snippet":{"type":"string"},"record":{"type":"string"},"verified_at":{"type":"string","format":"date-time"}}},"Detection":{"type":"object","required":["tech_id","name","slug","kind","categories","first_verified","last_verified","live","source","confidence"],"properties":{"tech_id":{"type":"string","pattern":"^vt_[0-9a-z]{10,12}$","description":"The taxonomy id of the technology: vt_ plus 10 to 12 lowercase alphanumerics. WordPress is vt_pnxzjl46hw. A technology with no taxonomy row falls back to vt_ plus the first 10 hex characters of sha1(lowercase detection name)."},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"$ref":"#/components/schemas/Kind"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryRef"}},"platform_tech_id":{"type":["string","null"]},"first_verified":{"type":"string","format":"date-time"},"last_verified":{"type":"string","format":"date-time"},"live":{"type":"boolean"},"verification_count":{"type":"integer"},"version_latest":{"type":["string","null"]},"versions_seen":{"type":"array","items":{"type":"string"}},"source":{"$ref":"#/components/schemas/Source"},"confidence":{"$ref":"#/components/schemas/Confidence"},"hosts":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Evidence"}}}},"HostRef":{"type":"object","properties":{"host":{"type":"string"},"root_domain":{"type":"string"},"first_crawled":{"type":"string","format":"date-time"},"last_crawled":{"type":"string","format":"date-time"},"freshness":{"$ref":"#/components/schemas/Freshness"}}},"CompanyRef":{"type":"object","properties":{"org_id":{"type":"string"},"hq_org_id":{"type":"string"},"country_code":{"$ref":"#/components/schemas/Iso2"},"name":{"type":"string"}}},"CompanyCard":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"hq_country":{"$ref":"#/components/schemas/Iso2"},"employee_band":{"type":"string"},"revenue_band":{"type":"string"},"naics2":{"type":"string"},"business_category":{"type":"string"},"group_id":{"type":["string","null"]}}},"DomainProfile":{"type":"object","required":["domain","host","is_root","technologies","counts","meta"],"properties":{"domain":{"type":"string"},"host":{"type":"string"},"is_root":{"type":"boolean"},"hosts":{"type":"array","items":{"$ref":"#/components/schemas/HostRef"}},"hosts_total":{"type":"integer","description":"Hosts of this root in the sample, whether or not their documents were loaded."},"hosts_truncated":{"type":"boolean","description":"True when the hosts and technologies arrays cover fewer hosts than hosts_total. counts and changes_90d always cover every host."},"site":{"type":"object","properties":{"status_code":{"type":"integer"},"live_site":{"type":"boolean"},"parked":{"type":"boolean"},"redirect_domain":{"type":["string","null"]},"country":{"type":"string"},"language":{"type":"string"}}},"company_refs":{"type":"array","items":{"$ref":"#/components/schemas/CompanyRef"}},"company":{"$ref":"#/components/schemas/CompanyCard"},"technologies":{"type":"array","items":{"$ref":"#/components/schemas/Detection"}},"counts":{"type":"object","description":"Distinct technologies over every host of the root. live_countable leaves out the standards the taxonomy marks is_countable false, such as html, css and javascript.","properties":{"live":{"type":"integer"},"live_countable":{"type":"integer"},"not_live":{"type":"integer"}}},"changes_90d":{"type":"object","properties":{"added":{"type":"integer"},"removed":{"type":"integer"}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"DomainSummary":{"type":"object","properties":{"domain":{"type":"string"},"first_crawled":{"type":"string","format":"date-time"},"last_crawled":{"type":"string","format":"date-time"},"freshness":{"$ref":"#/components/schemas/Freshness"},"categories":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"live":{"type":"integer"},"not_live":{"type":"integer"},"latest_verified":{"type":"string","format":"date-time"}}}},"company_refs":{"type":"array","items":{"$ref":"#/components/schemas/CompanyRef"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"History":{"type":"object","properties":{"domain":{"type":"string"},"series":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string"},"tech_id":{"type":"string"},"verified_at":{"type":"string","format":"date-time"},"present":{"type":"boolean"},"version":{"type":["string","null"]}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Relationships":{"type":"object","properties":{"domain":{"type":"string"},"same_company":{"type":"array","items":{"$ref":"#/components/schemas/HostRef"}},"same_group":{"type":"array","items":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}}}}},"shared_identifiers":{"type":"array","items":{"type":"object"},"description":"v2","when the crawler stores raw values":null},"meta":{"$ref":"#/components/schemas/Meta"}}},"ResolveResult":{"type":"object","properties":{"candidates":{"type":"array","items":{"type":"object","properties":{"org_id":{"type":"string"},"hq_org_id":{"type":"string"},"name":{"type":"string"},"country_code":{"$ref":"#/components/schemas/Iso2"},"domains":{"type":"array","items":{"type":"string"}},"last_verified":{"type":["string","null"],"format":"date-time"},"match_score":{"type":"number"},"match_details":{"type":"string"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Company":{"type":"object","required":["org_id","name","country_code","firmographics","domains","stack","meta"],"properties":{"org_id":{"type":"string"},"hq_org_id":{"type":"string"},"group_id":{"type":["string","null"]},"name":{"type":"string"},"legal_name":{"type":["string","null"]},"country_code":{"$ref":"#/components/schemas/Iso2"},"firmographics":{"type":"object","properties":{"employee_band":{"type":"string"},"employee_exact":{"type":["integer","null"]},"revenue":{"type":["integer","null"]},"revenue_band":{"type":"string"},"naics2":{"type":"string"},"business_category":{"type":"string"},"year_founded":{"type":["integer","null"]},"status":{"type":"string"}}},"legal":{"type":"object","properties":{"veridion_legal_entity_id":{"type":"string"},"registry_ids":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"number":{"type":"string"}}}}}},"domains":{"type":"array","items":{"type":"string"}},"hosts":{"type":"array","items":{"type":"string"}},"domain_count":{"type":"integer"},"stack":{"type":"array","items":{"$ref":"#/components/schemas/Detection"}},"counts":{"type":"object","description":"live_countable is computed from the stack in this response and the taxonomy, not from a stored total.","properties":{"live_countable":{"type":["integer","null"]},"hosts":{"type":"integer"},"live":{"type":"integer"},"not_live":{"type":"integer"}}},"changes_90d":{"type":"object","properties":{"added":{"type":"integer"},"removed":{"type":"integer"}}},"last_verified":{"type":"string","format":"date-time"},"meta":{"$ref":"#/components/schemas/Meta"}}},"Vendor":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/CompanyCard"},"technologies":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"live_companies":{"type":"integer"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"GroupFootprint":{"type":"object","properties":{"hq_org_id":{"type":"string"},"companies":{"type":"integer"},"shared":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"companies_using":{"type":"integer"}}}},"by_company":{"type":"array","items":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"country_code":{"type":"string"},"tech_ids":{"type":"array","items":{"type":"string"}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"SetFilter":{"type":"object","properties":{"all":{"type":"array","items":{"type":"string"}},"any":{"type":"array","items":{"type":"string"}},"none":{"type":"array","items":{"type":"string"}}}},"ListFilter":{"type":"object","properties":{"technologies":{"$ref":"#/components/schemas/SetFilter"},"categories":{"$ref":"#/components/schemas/SetFilter"},"company":{"type":"object","properties":{"countries":{"type":"array","items":{"$ref":"#/components/schemas/Iso2Input"}},"employee_bands":{"type":"array","items":{"type":"string"}},"revenue_bands":{"type":"array","items":{"type":"string"}},"naics2":{"type":"array","items":{"type":"string","pattern":"^\\d{2}$"},"description":"NAICS 2-digit sectors."},"naics4":{"type":"array","items":{"type":"string","pattern":"^\\d{4}$"}},"isic":{"type":"array","items":{"type":"string","pattern":"^\\d{4}$"},"description":"ISIC rev 4 classes, four bare digits, e.g. 8690."},"nace":{"type":"array","items":{"type":"string","pattern":"^\\d{2}\\.\\d{1,2}$"},"description":"NACE rev 2 classes, e.g. 46.69. A code in another notation is 400 invalid_filter rather than an empty result."},"uk_sic":{"type":"array","items":{"type":"string","pattern":"^\\d{2}\\.\\d{1,2}(/\\d)?$"},"description":"UK SIC 2007 classes and subclasses, e.g. 70.22 or 70.22/9."},"business_categories":{"type":"array","items":{"type":"string","maxLength":120},"description":"Veridion business categories. The value is the label itself, e.g. \"Real Estate - Agents & Managers\"; GET /trends/taxonomies/veridion lists them."},"group_id":{"type":"string"},"min_domains":{"type":"integer","description":"Companies only. POST /lists/hosts answers 400 invalid_filter, because a host document does not carry the domain count of its company."}}},"detection":{"type":"object","properties":{"live_only":{"type":"boolean","default":true},"countable_only":{"type":"boolean","default":true,"description":"Applies to the technologies a category expands to. A technology named in technologies.all, any or none is always honoured, standard or not."},"first_verified_after":{"type":"string","format":"date"},"last_verified_after":{"type":"string","format":"date"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}}}},"changes":{"type":"object","properties":{"added_since":{"type":"string","format":"date"},"removed_since":{"type":"string","format":"date"}}},"sort":{"type":"string","enum":["employees_desc","revenue_desc","first_verified_desc","relevance"],"default":"relevance"},"page_size":{"type":"integer","minimum":1,"maximum":100,"default":25},"cursor":{"type":"string"}}},"Facet":{"type":"object","properties":{"value":{"type":"string"},"companies":{"type":"integer"}}},"CountResult":{"type":"object","required":["total","facets","filter_used","meta"],"properties":{"total":{"type":"integer"},"total_relation":{"type":"string","enum":["eq","gte"]},"facets":{"type":"object","properties":{"countries":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"employee_bands":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"revenue_bands":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"naics2":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"isic":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"nace":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"uk_sic":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"business_categories":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"technologies_cooccurring":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}}}},"total_estimate":{"type":"integer","description":"total multiplied by the sample multiplier in meta."},"filter_used":{"$ref":"#/components/schemas/ListFilter"},"notes":{"type":"array","items":{"type":"string"},"description":"Present when a filter had to be read in a way the echo alone would not show, for example changes.removed_since matching the full history rather than the live set."},"meta":{"$ref":"#/components/schemas/Meta"}}},"CompanyRow":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"hq_country":{"type":"string"},"employee_band":{"type":"string"},"revenue_band":{"type":"string"},"naics2":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"matched_technologies":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"first_verified":{"type":"string","format":"date-time"},"live":{"type":"boolean"}}}},"last_verified":{"type":"string","format":"date-time"}}},"CompanyRows":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/CompanyRow"}},"total":{"type":"integer"},"next_cursor":{"type":["string","null"]},"filter_used":{"$ref":"#/components/schemas/ListFilter"},"notes":{"type":"array","items":{"type":"string"},"description":"Present when a filter had to be read in a way the echo alone would not show, for example changes.removed_since matching the full history rather than the live set."},"meta":{"$ref":"#/components/schemas/Meta"}}},"HostRows":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string"},"root_domain":{"type":"string"},"company":{"$ref":"#/components/schemas/CompanyCard"},"matched_technologies":{"type":"array","items":{"type":"object"}},"last_verified":{"type":"string","format":"date-time"}}}},"total":{"type":"integer"},"next_cursor":{"type":["string","null"]},"filter_used":{"$ref":"#/components/schemas/ListFilter"},"notes":{"type":"array","items":{"type":"string"},"description":"Present when a filter had to be read in a way the echo alone would not show, for example changes.removed_since matching the full history rather than the live set."},"meta":{"$ref":"#/components/schemas/Meta"}}},"DetectionList":{"type":"object","properties":{"technologies":{"type":"array","items":{"$ref":"#/components/schemas/Detection"}},"next_cursor":{"type":["string","null"]},"meta":{"$ref":"#/components/schemas/Meta"}}},"TechnologyList":{"type":"object","properties":{"technologies":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"$ref":"#/components/schemas/Kind"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryRef"}},"live_companies":{"type":"integer"}}}},"total":{"type":"integer","description":"Technologies matching the filter","before paging.":null},"offset":{"type":"integer","description":"Rank of the first row","zero based.":null},"next_cursor":{"type":["string","null"]},"meta":{"$ref":"#/components/schemas/Meta"}}},"TechnologyProfile":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["active","deprecated","merged","pending"]},"merged_into":{"type":["string","null"]},"kind":{"$ref":"#/components/schemas/Kind"},"is_countable":{"type":"boolean"},"ai_flag":{"type":"boolean"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryRef"}},"parent_tech_id":{"type":["string","null"]},"platform_tech_id":{"type":["string","null"]},"vendor":{"$ref":"#/components/schemas/CompanyCard"},"description_short":{"type":"string"},"description_long":{"type":"string"},"description_source_url":{"type":"string"},"pricing_model":{"type":"array","items":{"type":"string"}},"is_paid":{"type":"string","enum":["yes","no","maybe"]},"price_band":{"type":"string"},"deployment":{"type":"string","enum":["saas","self_hosted","hybrid"]},"is_open_source":{"type":"boolean"},"evidence_channels":{"type":"array","items":{"type":"string"}},"detectability":{"type":"string","enum":["page","tenant_dns","text_only"]},"edges":{"type":"object","properties":{"implies":{"type":"array","items":{"type":"string"}},"requires":{"type":"array","items":{"type":"string"}},"excludes":{"type":"array","items":{"type":"string"}}}},"adoption":{"type":"object","properties":{"live_hosts":{"type":"integer"},"live_companies":{"type":"integer"},"first_discovered":{"type":"string","format":"date"},"last_discovered":{"type":"string","format":"date"},"trend":{"type":"string","enum":["emerging","growing","stable","declining","dormant"]},"adds_12m":{"type":"integer"},"removals_12m":{"type":"integer"},"panel":{"$ref":"#/components/schemas/Panel"},"share_in_subcategory":{"type":"number"},"by_country":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"by_naics2":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"by_employee_band":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}}}},"trend_12m":{"type":"array","items":{"$ref":"#/components/schemas/TrendPoint"}},"competitors":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"live_companies":{"type":"integer"}}}},"subcategory":{"type":"object","nullable":true,"description":"The subcategory ranked by companies, served from the catalog counts held in memory, plus one distinct count for the denominator. Carries the 25 leading rows and this technology's rank over all of them, so a technology page needs no call to GET /v1/trends/categories/{l1}/{l2}. Rows carry no 12 month change; that endpoint has it.","properties":{"slug":{"type":"string"},"label":{"type":"string"},"technologies_total":{"type":"integer","description":"Technologies the taxonomy puts in the subcategory."},"rank":{"type":"integer","nullable":true,"description":"Rank of this technology over all of them","not over the rows below.":null},"companies_with_any":{"type":"integer","description":"Companies running anything in the subcategory","counted once each. Denominator of share_of_companies.":null},"companies_with_any_est":{"type":"integer"},"detections_sample":{"type":"integer","description":"Sum of the per-technology counts","so a company running two of them counts twice. Denominator of share_of_category.":null},"note":{"type":"string"},"technologies":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"vendor_name":{"type":"string","nullable":true},"rank":{"type":"integer"},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"share_of_category":{"type":"number","nullable":true},"share_of_companies":{"type":"number","nullable":true},"suppressed_share":{"type":"boolean","description":"Under 20 companies in the numerator","so no share is published.":null}}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Panel":{"type":"object","description":"What the series was measured on. A site enters the panel when we had already crawled it on or before `anchor`, so a later crawl campaign cannot read as adoption. `sufficient` is false when the panel holds too few companies to index from, and the series is not published.","properties":{"anchor":{"type":"string","format":"date"},"companies":{"type":"integer","description":"Panel companies in the latest month."},"universe_companies":{"type":"integer"},"scale_factor":{"type":["number","null"],"description":"universe_companies / companies."},"sufficient":{"type":"boolean"}}},"TrendPoint":{"type":"object","description":"One month of a series. Series are measured on a fixed panel (the sites crawled by the panel anchor), resolved to a centred 13-month mean because a panel host is verified 3.69 times across the whole window, then indexed onto the universe by one constant pinned to the latest month. live_companies is the indexed value; panel_companies is what was observed.","properties":{"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"live_companies":{"type":"integer","description":"Panel count indexed onto the universe."},"panel_companies":{"type":"integer","description":"Companies observed in the panel that month","before indexing.":null},"live_hosts":{"type":"integer"},"adds":{"type":"integer"},"removals":{"type":"integer"},"share_of_dimension":{"type":["number","null"]},"share_in_subcategory":{"type":["number","null"]},"suppressed":{"type":"boolean"}}},"TrendSeries":{"type":"object","properties":{"technology":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"subcategory":{"type":"string"}}},"dimension":{"$ref":"#/components/schemas/Dimension"},"value":{"type":["string","null"]},"grace_days":{"type":"integer"},"min_cell_companies":{"type":"integer"},"panel":{"$ref":"#/components/schemas/Panel"},"series":{"type":"array","items":{"$ref":"#/components/schemas/TrendPoint"}},"detector_change_months":{"type":"array","items":{"type":"string"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"ShareTable":{"type":"object","properties":{"category":{"$ref":"#/components/schemas/CategoryRef"},"dimension":{"$ref":"#/components/schemas/Dimension"},"value":{"type":["string","null"]},"month":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"live_companies":{"type":"integer"},"share_in_subcategory":{"type":"number"},"change_12m":{"type":"number"},"suppressed":{"type":"boolean"}}}},"series":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TrendPoint"}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"TaxonomyId":{"type":"string","enum":["naics","isic","nace","sic","veridion"],"description":"naics is the 2-digit sector, isic is ISIC rev 4, nace is NACE rev 2, sic is UK SIC 2007, veridion is the Veridion business category."},"TaxonomyRef":{"type":"object","description":"One taxonomy, without its codes. `field` is the company field it is stored in; `codes` is how many codes carry a title.","required":["id","name","level","field","codes"],"properties":{"id":{"$ref":"#/components/schemas/TaxonomyId"},"name":{"type":"string","example":"NACE"},"long_name":{"type":"string","example":"Statistical Classification of Economic Activities in the European Community, revision 2"},"authority":{"type":"string","example":"Eurostat"},"level":{"type":"string","example":"4-digit class"},"field":{"type":"string","example":"firmographics.nace"},"codes":{"type":"integer","example":604}}},"TaxonomyList":{"type":"object","required":["taxonomies","meta"],"properties":{"taxonomies":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/TaxonomyRef"},{"type":"object","properties":{"companies":{"type":"integer","description":"Companies carrying a code in this taxonomy, counted live.","example":53833400}}}]}},"meta":{"$ref":"#/components/schemas/Meta"}}},"TaxonomyCode":{"type":"object","required":["code","slug","label","companies"],"properties":{"code":{"type":"string","example":"46.69"},"slug":{"type":"string","description":"The code as a URL segment, for the industry profile path.","example":"46-69"},"label":{"type":"string","example":"Wholesale of other machinery and equipment"},"companies":{"type":"integer","description":"Companies with this code that run any technology. Zero is a real answer, not a missing row."}}},"TaxonomyCodes":{"type":"object","required":["taxonomy","companies","companies_with_tech","sections","meta"],"properties":{"taxonomy":{"$ref":"#/components/schemas/TaxonomyRef"},"companies":{"type":"integer","description":"Companies carrying a code in this taxonomy.","example":53833400},"companies_with_tech":{"type":"integer","description":"Of those, the ones running any technology. The per-code counts add up to this number."},"sections":{"type":"array","description":"Codes grouped by section, ordered by key. ISIC, NACE and UK SIC share the 21 ISIC sections; the Veridion categories group by initial. A flat taxonomy returns one section with an empty key and label.","items":{"type":"object","properties":{"key":{"type":"string","example":"G"},"label":{"type":"string","example":"Wholesale and retail trade; repair of motor vehicles and motorcycles"},"codes":{"type":"array","items":{"$ref":"#/components/schemas/TaxonomyCode"}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"IndustryProfile":{"type":"object","properties":{"taxonomy":{"$ref":"#/components/schemas/TaxonomyId"},"code":{"type":"string","description":"The code itself, in the taxonomy's own notation.","example":"46.69"},"slug":{"type":"string","description":"The same code as a URL segment.","example":"46-69"},"naics2":{"type":["string","null"],"description":"The code when taxonomy is naics, null otherwise."},"label":{"type":"string"},"month":{"type":"string"},"filters":{"type":"object","properties":{"country":{"type":["string","null"]},"employee_band":{"type":["string","null"]}}},"companies":{"type":"integer"},"companies_with_tech":{"type":"integer"},"by_category":{"type":"array","items":{"type":"object","properties":{"category":{"$ref":"#/components/schemas/CategoryRef"},"technologies":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"share_of_companies":{"type":"number"},"live_companies":{"type":"integer"}}}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"MigrationTable":{"type":"object","properties":{"category":{"$ref":"#/components/schemas/CategoryRef"},"rows":{"type":"array","items":{"type":"object","properties":{"from_tech":{"type":"string"},"to_tech":{"type":"string"},"month":{"type":"string"},"companies":{"type":"integer"},"suppressed":{"type":"boolean"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Mover":{"type":"object","description":"One technology's move over the window. pct_change is null when it began the window with no companies.","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":["string","null"]},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryRef"}},"live_companies":{"type":"integer"},"adds":{"type":"integer"},"removals":{"type":"integer"},"net":{"type":"integer"},"first_companies":{"type":"integer"},"last_companies":{"type":"integer"},"pct_change":{"type":["number","null"]}}},"TrendMovers":{"type":"object","required":["window","min_companies","considered","gained","lost"],"properties":{"window":{"type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}$"},"months":{"type":"integer"}}},"min_companies":{"type":"integer"},"median_pct_change":{"type":["number","null"]},"considered":{"type":"integer"},"gained":{"type":"array","items":{"$ref":"#/components/schemas/Mover"}},"lost":{"type":"array","items":{"$ref":"#/components/schemas/Mover"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"ChangeEvent":{"type":"object","required":["event_id","kind","host","technology","observed_at"],"properties":{"event_id":{"type":"string"},"kind":{"$ref":"#/components/schemas/ChangeKind"},"host":{"type":"string"},"root_domain":{"type":"string"},"org_id":{"type":["string","null"]},"hq_org_id":{"type":["string","null"]},"technology":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryRef"}}}},"observed_at":{"type":"string","format":"date-time"},"prior_observed_at":{"type":["string","null"],"format":"date-time"},"version_from":{"type":["string","null"]},"version_to":{"type":["string","null"]},"company":{"$ref":"#/components/schemas/CompanyCard"},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Evidence"}},"detector_changed":{"type":"boolean"}}},"RankTiers":{"type":"object","description":"Hosts per crawl-rank tier, from our own rank.","properties":{"top_1k":{"type":"integer"},"top_10k":{"type":"integer"},"top_100k":{"type":"integer"},"top_1m":{"type":"integer"},"ranked":{"type":"integer"},"all":{"type":"integer"}}},"CountryCount":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/Iso2"},"label":{"type":["string","null"]},"hosts_sample":{"type":"integer"},"hosts_est":{"type":"integer"},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"}}},"IndustryCount":{"type":"object","properties":{"naics2":{"type":"string"},"label":{"type":["string","null"]},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"share":{"type":["number","null"]},"suppressed_share":{"type":"boolean"}}},"BandCount":{"type":"object","properties":{"band":{"type":"string"},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"share":{"type":["number","null"]},"suppressed_share":{"type":"boolean"}}},"TopSite":{"type":"object","properties":{"host":{"type":"string"},"root_domain":{"type":"string"},"rank":{"type":["integer","null"]},"company":{"type":["object","null"],"properties":{"org_id":{"type":["string","null"]},"name":{"type":["string","null"]},"hq_country":{"type":["string","null"]},"naics_label":{"type":["string","null"]}}},"first_verified":{"type":["string","null"],"format":"date-time"},"last_verified":{"type":["string","null"],"format":"date-time"}}},"TechnologyDistribution":{"type":"object","required":["technology","totals","meta"],"properties":{"technology":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"l1":{"type":["string","null"]},"l1_label":{"type":["string","null"]},"l2_slug":{"type":["string","null"]},"l2_label":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"vendor_domain":{"type":["string","null"]},"kind":{"$ref":"#/components/schemas/Kind"},"is_countable":{"type":["boolean","null"]},"description_short":{"type":["string","null"]},"first_discovered":{"type":["string","null"],"format":"date-time"},"last_discovered":{"type":["string","null"],"format":"date-time"}}},"totals":{"type":"object","properties":{"hosts_sample":{"type":"integer"},"hosts_est":{"type":"integer"},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"tiers":{"$ref":"#/components/schemas/RankTiers"},"tiers_est":{"$ref":"#/components/schemas/RankTiers"}}},"site_countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryCount"}},"company_countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryCount"}},"industries":{"type":"array","items":{"$ref":"#/components/schemas/IndustryCount"}},"employee_bands":{"type":"array","items":{"$ref":"#/components/schemas/BandCount"}},"revenue_bands":{"type":"array","items":{"$ref":"#/components/schemas/BandCount"}},"top_sites":{"type":"array","items":{"$ref":"#/components/schemas/TopSite"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"CategorySeries":{"type":"object","description":"Monthly companies per technology inside the category. low_coverage marks months where the crawl covered under 1 percent of the usual host count.","properties":{"months":{"type":"array","items":{"type":"string"}},"technologies":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":["string","null"]},"values":{"type":"array","items":{"type":["number","null"]}},"counts":{"type":"array","items":{"type":"integer"}}}}},"other":{"type":"array","items":{"type":["number","null"]}},"other_counts":{"type":"array","items":{"type":"integer"}},"denominator":{"type":"array","items":{"type":["number","null"]}},"low_coverage":{"type":"array","items":{"type":"boolean"}}}},"CategoryTechnologyRow":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"hosts_sample":{"type":"integer"},"hosts_est":{"type":"integer"},"share_of_category":{"type":["number","null"]},"share_of_companies":{"type":["number","null"]},"rank":{"type":"integer"},"delta_12m":{"type":["number","null"]},"trend":{"type":["string","null"],"enum":["growing","stable","declining",null]},"suppressed":{"type":"boolean"},"suppressed_share":{"type":"boolean"}}},"CategoryTrends":{"type":"object","required":["category","technologies","meta"],"properties":{"category":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"level":{"type":"integer"},"parent":{"type":["string","null"]},"definition":{"type":"string"},"path":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"}}}}}},"totals":{"type":"object","properties":{"detections_sample":{"type":"integer"},"detections_est":{"type":"integer"},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"hosts_sample":{"type":"integer"},"hosts_est":{"type":"integer"},"technologies":{"type":"integer"},"tiers":{"$ref":"#/components/schemas/RankTiers"},"tiers_est":{"$ref":"#/components/schemas/RankTiers"}}},"dimension":{"type":"string"},"value":{"type":["string","null"]},"month":{"type":"string"},"parent_category":{"type":["object","null"],"properties":{"slug":{"type":"string"},"label":{"type":"string"},"level":{"type":"integer"}}},"companies_with_any":{"type":"integer"},"leader":{"type":["object","null"],"properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":["string","null"]},"companies_sample":{"type":"integer"},"companies_est":{"type":"integer"},"share":{"type":["number","null"]},"share_of_companies":{"type":["number","null"]}}},"technologies":{"type":"array","items":{"$ref":"#/components/schemas/CategoryTechnologyRow"}},"series":{"oneOf":[{"$ref":"#/components/schemas/CategorySeries"},{"type":"null"}]},"share_series":{"oneOf":[{"$ref":"#/components/schemas/CategorySeries"},{"type":"null"}]},"rows":{"type":"array","items":{"type":"object","properties":{"tech_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":["string","null"]},"live_companies":{"type":"integer"},"share_in_subcategory":{"type":["number","null"]},"change_12m":{"type":["number","null"]},"suppressed":{"type":"boolean"}}}},"site_countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryCount"}},"company_countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryCount"}},"industries":{"type":"array","items":{"$ref":"#/components/schemas/IndustryCount"}},"employee_bands":{"type":"array","items":{"$ref":"#/components/schemas/BandCount"}},"revenue_bands":{"type":"array","items":{"$ref":"#/components/schemas/BandCount"}},"siblings":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"tech_count":{"type":"integer"}}}},"subcategories":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"companies_sample":{"type":"integer"},"share":{"type":["number","null"]},"definition":{"type":"string"},"tech_count":{"type":"integer"}}}},"next_cursor":{"type":["string","null"]},"meta":{"$ref":"#/components/schemas/Meta"}}},"ChangeCounts":{"type":"object","description":"Events per kind behind the response, so a caller can see how much of it is backfill.","properties":{"technology_added":{"type":"integer"},"first_observed":{"type":"integer"},"technology_removed":{"type":"integer"},"version_changed":{"type":"integer"},"detector_changed":{"type":"integer"}}},"ChangeList":{"type":"object","description":"Change events of one domain or one company. total counts the events matching kind, counts covers every kind.","properties":{"since":{"type":["string","null"],"format":"date"},"kinds":{"type":"array","items":{"$ref":"#/components/schemas/ChangeKind"}},"total":{"type":"integer"},"counts":{"$ref":"#/components/schemas/ChangeCounts"},"events":{"type":"array","items":{"$ref":"#/components/schemas/ChangeEvent"}},"next_cursor":{"type":["string","null"]},"meta":{"$ref":"#/components/schemas/Meta"}}},"ChangeFeed":{"type":"object","description":"The universe feed. A page holds at most page_size events, which is the unit the price is quoted in (1 credit per 25 events); companies are read until the page is full, the page is cut in traversal order and next_cursor carries the cut point.","properties":{"since":{"type":"string","format":"date"},"filter_used":{"type":"object","properties":{"technology":{"type":["string","null"]},"kind":{"type":"array","items":{"$ref":"#/components/schemas/ChangeKind"}},"country":{"type":["string","null"]},"page_size":{"type":"integer"}}},"companies_with_changes":{"type":"integer"},"companies_total_relation":{"type":"string","enum":["eq","gte"]},"counts":{"$ref":"#/components/schemas/ChangeCounts"},"events":{"type":"array","items":{"$ref":"#/components/schemas/ChangeEvent"}},"truncated":{"type":"boolean","description":"True when a company on this page had more changed technologies than could be read, so some of its events are missing."},"next_cursor":{"type":["string","null"]},"meta":{"$ref":"#/components/schemas/Meta"}}},"WebhookCreate":{"type":"object","required":["url","secret"],"properties":{"url":{"type":"string","format":"uri"},"secret":{"type":"string","minLength":16},"filter":{"type":"object","properties":{"technologies":{"type":"array","items":{"type":"string"}},"kinds":{"type":"array","items":{"$ref":"#/components/schemas/ChangeKind"}},"countries":{"type":"array","items":{"$ref":"#/components/schemas/Iso2Input"}},"org_ids":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"string"}}}}}},"Webhook":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"filter":{"type":"object"},"created_at":{"type":"string","format":"date-time"},"last_delivery_at":{"type":["string","null"],"format":"date-time"},"failing_since":{"type":["string","null"],"format":"date-time"}}},"BulkJob":{"type":"object","properties":{"job_id":{"type":"string"},"status":{"type":"string","enum":["queued","processing","completed","failed"]},"count":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"result_url":{"type":["string","null"]},"expires_at":{"type":["string","null"],"format":"date-time"}}},"Account":{"type":"object","properties":{"key_id":{"type":"string"},"tier":{"type":"string"},"rate_limit_rps":{"type":"integer"},"free_calls_daily":{"type":"integer"},"credits_monthly":{"type":"integer"},"bulk_max":{"type":"integer"},"list_rows_max":{"type":["integer","null"]},"webhooks_max":{"type":"integer"},"mcp_enabled":{"type":"boolean"}}},"Usage":{"type":"object","properties":{"period_start":{"type":"string","format":"date"},"period_end":{"type":"string","format":"date"},"credits_used":{"type":"integer"},"credits_remaining":{"type":"integer"},"free_calls_today":{"type":"integer"},"by_endpoint":{"type":"array","items":{"type":"object","properties":{"endpoint":{"type":"string"},"calls":{"type":"integer"},"credits":{"type":"integer"}}}}}}}}}