Tech-stack prospecting
Find websites matching a technology profile, then verify the most relevant
candidates. Detected software supports technical fit; it does not establish
budget, willingness to buy, or the identity of a decision-maker.
Setup
Set CRAWLORA_API_KEY to your key from crawlora.net.
Run the bundled scripts/crawlora.sh from this skill directory or by absolute
path. It uses x-api-key at https://api.crawlora.net/api/v1; keep the key in
the environment. Read reference/endpoints.md for exact
filters and optional live-detection parameters.
Workflow
- Translate the brief into required technologies, acceptable alternatives,
excluded technologies, company-fit criteria, and a target list size. If the
user supplies domains, start with those rather than discovering a new list.
- Use
/datasets/techstack/facets?facet=technology to discover common exact
labels, and /datasets/techstack/search for candidates. Facets return only
the top 50 buckets, not a complete list of accepted technology names; observed
technology_names in search/item results can supply other exact labels.
- Use repeated query keys for Boolean filters:
technology is AND, any_of
is OR, and not excludes. Do not send a comma-joined string as a substitute.
q is a domain substring search, not a search over company descriptions.
Normally set is_infrastructure=false; add reachable=true when appropriate.
page_size is at most 100 and page * page_size cannot exceed 10,000.
- Fetch
/datasets/techstack/items/{domain} for evidence, confidence,
the returned freshness fields (probed_at, run_date, or crawled_at when
present), and run_id. Keep a consistent run when comparing dataset
counts. A 404 means the domain is absent from the index, not that it lacks
the technology; a live check can still answer the user's question.
- Refresh selected candidates using
POST /web/techstack with flat
{"url":"https://..."}. Inspect /web/scrape output for business fit when
needed, and /brand/retrieve for domain identity. Label discrepancies between
stored and live observations. A live homepage-only scan may miss technology
previously observed on a cart, docs, or other secondary page.
- Deduplicate by normalized domain, preserving genuinely distinct storefronts.
Merge different domains into one company only when public evidence supports
that relationship. Apply the user's criteria and explain each qualification.
scripts/crawlora.sh /datasets/techstack/facets facet=technology ecommerce=Shopify
scripts/crawlora.sh /datasets/techstack/search \
technology=Shopify technology=Klaviyo is_infrastructure=false page_size=10
Output and limits
Return a table or CSV with domain, company identity when verified, matching
technologies, detection confidence/evidence, dataset refresh time, live-check
time/status, fit rationale, and source URLs. Preserve unknowns.
not=Klaviyo means the dataset did not detect Klaviyo, not proof the site
does not use it. Private/backend-only tools may leave no public evidence.
reachable=true alone does not prove a usable page was fetched. Inspect
failure_reason and related status fields when present before trusting absence.
- Technology counts are counts within this corpus/run, not internet-wide market
share. Do not infer company geography from a TLD alone.
- Bound live checks to the shortlist. Back off on
429, retry a transient
5xx once, and stop on 401/403. Check application code. A failed refresh
leaves a dataset-only observation, not a confirmed current installation.
- Exporting a research list does not authorize outreach or a CRM write.
1---2name: techstack-prospecting3description: Find and qualify company websites by their detected technologies using Crawlora's tech-stack dataset and live website checks. Use for technology-based account lists, integration targeting, or qualifying an existing domain list.4---56# Tech-stack prospecting78Find websites matching a technology profile, then verify the most relevant9candidates. Detected software supports technical fit; it does not establish10budget, willingness to buy, or the identity of a decision-maker.1112## Setup1314Set `CRAWLORA_API_KEY` to your key from [crawlora.net](https://crawlora.net).15Run the bundled `scripts/crawlora.sh` from this skill directory or by absolute16path. It uses `x-api-key` at `https://api.crawlora.net/api/v1`; keep the key in17the environment. Read [reference/endpoints.md](reference/endpoints.md) for exact18filters and optional live-detection parameters.1920## Workflow21221. Translate the brief into required technologies, acceptable alternatives,23 excluded technologies, company-fit criteria, and a target list size. If the24 user supplies domains, start with those rather than discovering a new list.252. Use `/datasets/techstack/facets?facet=technology` to discover common exact26 labels, and `/datasets/techstack/search` for candidates. Facets return only27 the top 50 buckets, not a complete list of accepted technology names; observed28 `technology_names` in search/item results can supply other exact labels.293. Use repeated query keys for Boolean filters: `technology` is AND, `any_of`30 is OR, and `not` excludes. Do not send a comma-joined string as a substitute.31 `q` is a domain substring search, not a search over company descriptions.32 Normally set `is_infrastructure=false`; add `reachable=true` when appropriate.33 `page_size` is at most 100 and `page * page_size` cannot exceed 10,000.344. Fetch `/datasets/techstack/items/{domain}` for evidence, confidence,35 the returned freshness fields (`probed_at`, `run_date`, or `crawled_at` when36 present), and `run_id`. Keep a consistent run when comparing dataset37 counts. A 404 means the domain is absent from the index, not that it lacks38 the technology; a live check can still answer the user's question.395. Refresh selected candidates using `POST /web/techstack` with flat40 `{"url":"https://..."}`. Inspect `/web/scrape` output for business fit when41 needed, and `/brand/retrieve` for domain identity. Label discrepancies between42 stored and live observations. A live homepage-only scan may miss technology43 previously observed on a cart, docs, or other secondary page.446. Deduplicate by normalized domain, preserving genuinely distinct storefronts.45 Merge different domains into one company only when public evidence supports46 that relationship. Apply the user's criteria and explain each qualification.4748```sh49scripts/crawlora.sh /datasets/techstack/facets facet=technology ecommerce=Shopify50scripts/crawlora.sh /datasets/techstack/search \51 technology=Shopify technology=Klaviyo is_infrastructure=false page_size=1052```5354## Output and limits5556Return a table or CSV with domain, company identity when verified, matching57technologies, detection confidence/evidence, dataset refresh time, live-check58time/status, fit rationale, and source URLs. Preserve unknowns.5960- `not=Klaviyo` means the dataset did not detect Klaviyo, not proof the site61 does not use it. Private/backend-only tools may leave no public evidence.62- `reachable=true` alone does not prove a usable page was fetched. Inspect63 `failure_reason` and related status fields when present before trusting absence.64- Technology counts are counts within this corpus/run, not internet-wide market65 share. Do not infer company geography from a TLD alone.66- Bound live checks to the shortlist. Back off on `429`, retry a transient67 `5xx` once, and stop on `401`/`403`. Check application `code`. A failed refresh68 leaves a dataset-only observation, not a confirmed current installation.69- Exporting a research list does not authorize outreach or a CRM write.