Datasets API endpoint
Returns distribution counts over the website tech-stack index (dataset id enum value `techstack`), honoring the same filters as search — the technology / category market-share view. Facet enum: `technology`, `category`, `cms`, `ecommerce`, `cdn`, `web_server`, `server_language`, `analytics`, `tld`, `render_tier`, `seed_source`.
/datasets/techstack/facetsReturns distribution counts over the website tech-stack index, honoring the same filters as search — the technology / category market-share view (how many sites use each technology, CMS, CDN, and so on).
Dataset id enum:
techstackQuery parameters:
facet: required facet to aggregate. Allowed values: technology, category, cms, ecommerce, cdn, web_server, server_language, analytics, tld, render_tier, seed_source.q: optional substring match on the site domain, max 256 characters.technology: repeatable exact technology name the site must use (AND).any_of: repeatable exact technology name; the site must use at least one (OR).not: repeatable exact technology name the site must not use (excludes).category: optional exact category filter, e.g. Ecommerce, CMS, Analytics.cms: optional exact CMS filter, e.g. WordPress, Shopify, Webflow.ecommerce: optional exact e-commerce platform filter, e.g. Shopify, WooCommerce, Magento.cdn: optional exact CDN / hosting filter, e.g. Cloudflare, Fastly, Vercel.web_server: optional exact web-server filter, e.g. nginx, Apache, IIS.server_language: optional exact server language / framework filter, e.g. PHP, ASP.NET, Ruby on Rails.tld: optional exact top-level-domain filter, e.g. com, org, io.render_tier: optional fetch-tier filter. Allowed values: http, browser.seed_source: optional filter for where the domain was discovered, e.g. tranco.has_captcha: optional filter; true keeps only sites with a detected CAPTCHA.is_infrastructure: optional filter; false (the common case) excludes backend CDN/DNS/cloud-vendor hostnames that rank highly but were never meant to serve a public homepage, keeping only real, human-navigable sites; true keeps only those backend hostnames.reachable: optional filter; true keeps only sites whose homepage was fetched.min_tech_count: optional minimum number of detected technologies, 0 or greater.run_id: optional scan run id; defaults to the latest run.Response behavior:
50 buckets, each with the facet value and its count, ordered by count.facet values return the standard invalid params envelope.items array (not an error) when nothing matches or the dataset has no data yet.| Field | Filled in, of 50 checked | Values in the sample |
|---|---|---|
| value | 50 | |
| count | 50 | 1,198 to 557,906, median 25,038 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| facet | string | Yes | Facet enum: technology, category, cms, ecommerce, cdn, web_server, server_language, analytics, tld, render_tier, seed_source Allowed values: technology, category, cms, ecommerce, cdn, web_server, server_language, analytics, tld, render_tier, seed_source. | technology | |
| q | string | No | Substring match on the site domain, max 256 characters | ||
| technology | array<string> | No | Repeatable exact technology name the site MUST use (AND) | ||
| any_of | array<string> | No | Repeatable exact technology name; the site must use at least one (OR) | ||
| not | array<string> | No | Repeatable exact technology name the site must NOT use (excludes) | ||
| category | string | No | Exact category filter, e.g. Ecommerce, CMS, Analytics | ||
| cms | string | No | Exact CMS filter, e.g. WordPress, Shopify, Webflow | ||
| ecommerce | string | No | Exact e-commerce platform filter, e.g. Shopify, WooCommerce, Magento | ||
| cdn | string | No | Exact CDN / hosting filter, e.g. Cloudflare, Fastly, Vercel | ||
| web_server | string | No | Exact web-server filter, e.g. nginx, Apache, IIS | ||
| server_language | string | No | Exact server language / framework filter, e.g. PHP, ASP.NET, Ruby on Rails | ||
| tld | string | No | Exact top-level-domain filter, e.g. com, org, io | ||
| render_tier | string | No | Fetch-tier filter. Enum: http, browser Allowed values: http, browser. | ||
| seed_source | string | No | Source filter for where the domain was discovered, e.g. tranco | ||
| has_captcha | boolean | No | true keeps only sites with a detected CAPTCHA | ||
| is_infrastructure | boolean | No | false (the common case) excludes backend CDN/DNS/cloud-vendor hostnames that rank highly but were never meant to serve a public homepage, keeping only real, human-navigable sites; true keeps only those backend hostnames | ||
| reachable | boolean | No | true keeps only sites whose homepage was fetched | ||
| min_tech_count | integer | No | Minimum number of detected technologies, 0 or greater | ||
| run_id | string | No | the latest run | Scan run id; defaults to the latest run | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/techstack/facets?facet=technology&q=coffee&render_tier=http&has_captcha=true&is_infrastructure=true&reachable=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "techstack",
"facet": "ecommerce",
"items": [
{
"value": "Shopify",
"count": 84120
},
{
"value": "WooCommerce",
"count": 61903
},
{
"value": "Magento",
"count": 12244
}
]
}
}Request schema
No body schema
Response schema
#/definitions/datasets.techstackFacetResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.TechstackFacetResponse | No | ||||
| data.dataset | string | No | Identifier of the dataset queried (`techstack`). | |||
| data.facet | string | No | Facet that was aggregated. | |||
| data.items | array | No | Facet values with the number of matching records for each. | |||
| data.items[].count | integer | No | Number of sites in this bucket. | |||
| data.items[].value | string | No | Bucket value, such as a technology name, category, top-level domain or rendering tier. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/techstack/facets?facet=technology&q=coffee&render_tier=http&has_captcha=true&is_infrastructure=true&reachable=true" \
-H "x-api-key: $CRAWLORA_API_KEY"