---
title: "Get a site from the website tech-stack dataset"
method: GET
path: "/datasets/techstack/items/{domain}"
tags: ["Datasets"]
---

# Get a site from the website tech-stack dataset

`GET /datasets/techstack/items/{domain}`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/datasets/techstack/items/{domain}`
- Auth: API key in header `x-api-key`

Returns one site by its domain from dataset id enum value `techstack`, including every detected technology (name, categories, confidence, version, evidence) plus the CMS / e-commerce / CDN / web-server / server-language rollups. Also flags whether the domain looks like backend CDN/DNS/cloud-vendor infrastructure rather than a real, human-navigable site (see `is_infrastructure`). Returns 404 when the domain is not in the index.

## Path parameters

- `domain` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DatasetsTechstackItemResponseDoc
  - `code` integer
  - `data` EsTechstackRecord
    - `analytics` string[]: Analytics, tag manager and tracking pixel technologies detected on the site.
    - `block_matched` string[]: block/challenge marker strings that matched, when FailureReason is a block/challenge classification
    - `categories` string[]: distinct, sorted; category facets
    - `category` string: optional seed category (usually empty)
    - `cdn` string: Main CDN, hosting or platform provider detected on the site.
    - `cms` string: single-value rollups (denormalized from Technologies for cheap facets/filters)
    - `detector_version` string: Version of the technology detection rules used for this record.
    - `domain` string: identity
    - `ecommerce` string: Ecommerce platform detected on the site.
    - `failure_reason` string: failure diagnostics: populated whenever a probe attempt didn't fully pass, even if the site still counts as reachable (e.g. a blocked page returning a non-5xx status). Unset for a fully passing site.
    - `final_url` string: URL that produced the adopted body (after www. fallback / redirects)
    - `has_captcha` boolean: Whether a CAPTCHA technology was detected on the site.
    - `is_infrastructure` boolean: IsInfrastructure flags a backend CDN/DNS/cloud-vendor/registry hostname (e.g. cloudfront.net, gtld-servers.net) rather than a real, human-navigable website. Best-effort heuristic: a false negative (unflagged) is not proof a domain is a real site.
    - `method_version` string: Version of the scan procedure used to collect this record.
    - `probe_error` string: raw transport error's first line (e.g. "context deadline exceeded", "no such host"), when there was one
    - `probed_at` string: RFC3339 — when last probed
    - `rank` integer: Tranco rank when seeded from the top-1M list
    - `reachable` boolean: Whether the site answered the probe.
    - `render_tier` string: provenance / reproducibility
    - `run_date` string: Time the scan run started, in UTC (RFC 3339).
    - `run_id` string: Identifier of the scan run that produced this record.
    - `scan_method` string: Method used to scan the site, for example `http_scan`.
    - `schema_version` integer: Version of the record format.
    - `scheme` string: URL scheme the site was reached with, `https` or `http`.
    - `secondary_only_technology_names` string[]: technology names detected ONLY via a fetched secondary page, not the homepage alone; a subset of TechnologyNames
    - `secondary_page_categories` string[]: which categories were successfully fetched and contributed content, sorted (careers|login|blog|status|signup|docs|contact|trust|cart)
    - `secondary_pages` EsTechstackSecondaryPage[]: full audit trail: every discovered candidate, fetched or not; detail view, stored not indexed
      - `category` string: Kind of page found on the homepage navigation: `careers`, `login`, `blog`, `status`, `signup`, `docs`, `contact`, `trust` or `cart`.
      - `fetched` boolean: Whether the page was loaded successfully. False when it was blocked or timed out.
      - `url` string: Address of the page found on the homepage navigation.
    - `secondary_pages_discovered` integer: secondary-page telemetry: populated when the crawl looked for extra non-homepage pages (opt-in per run) and discovered at least one on the homepage nav for this domain. "Discovered" and "fetched" are deliberately distinct: a candidate can be found on the homepage nav but still fail to fetch (e.g. blocked or timed out) — that failure is recorded in SecondaryPages (Fetched=false), not silently dropped.
    - `secondary_pages_fetched` integer: count that were ACTUALLY fetched successfully and contributed content; <= SecondaryPagesDiscovered
    - `seed_source` string: tranco | internal-harvest
    - `server_language` string: Server-side language or web framework detected on the site.
    - `source_url` string: the exact seed URL probed
    - `status` integer: HTTP status code of the last probe attempt.
    - `tech_count` integer: Number of distinct technologies detected on the site.
    - `technologies` EsTechstackTechnology[]: detections (the payload)
      - `categories` string[]: Categories the technology belongs to, such as `CDN` or `Analytics`.
      - `confidence` string: How sure the detection is: `high`, `medium` or `low`.
      - `evidence` string: Signal the technology was recognised from, such as `header: cf-ray`.
      - `name` string: Technology name, such as `Shopify` or `Cloudflare`.
      - `version` string: Version of the technology, when the site exposes it.
    - `technology_names` string[]: flattened for AND/NOT term filters + facets
    - `tld` string: Top-level domain of the site, such as `com`.
    - `web_server` string: Web server software detected on the site.
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
