HTTP API · V1

Technology taxonomy API

Search software technologies, resolve identities, and retrieve classifications and relationships as JSON. Taxonomy records come from the same selected approved release used by the public pages, JSON downloads, and MCP tools. The demand endpoint is separately identified live enrichment based on Queast job advertisements.

Agent identity and citation guide · Technology name normalization

Quick start

Anonymous reads require no account. This command searches the active release:

curl --fail-with-body \
  'https://technologies.quea.st/api/v1/technologies?q=JavaScript&limit=25'

Search responses are JSON. They include request_id, the active release_version, an ETag, and quota headers such as RateLimit-Remaining. Send If-None-Match when caching a response.

Read endpoints

GET /api/v1/technology-popularity
Up to 100 active published leaf technologies (hierarchy parents excluded) ranked by combined Queast job-ad demand from January 1, 2026 through the response end date. Ranks and technology identities only; no absolute match counts. Source results are cached for 24 hours. Includes covered markets, period, fetch/cache times, methodology and source/calculation versions.
GET /api/v1/domains
List domains from the selected approved release.
GET /api/v1/categories
List categories, including their domain and optional parent category.
GET /api/v1/technology-demand/{canonicalID}
Load the cached live weekly Queast job-ad series for Finland, Sweden, Germany, and the United Kingdom. This enrichment is not part of the immutable taxonomy release.
GET /api/v1/technologies
Search and filter approved technologies. Use q, category, domain, lifecycle, after, and limit.
GET /api/v1/technologies/by-id/{identifier}
Fetch a record by immutable canonical ID or stable slug. Example identifier: javascript-358446000000396103.
GET /api/v1/technology-resolutions
Resolve an exact name, a released alias, or an explicit external-system ID. Ambiguous names require candidate inspection; missing matches do not prove a technology is absent.
GET /api/v1/technology-relationships/{canonicalID}
List typed edges for a record such as tech_000000000000009YBMQKJJXTT7.
GET /api/v1/changes
Compare the active release with the published release named by since.
GET /api/v1/releases/{version}
Read release metadata.
GET /api/v1/releases/{version}/artifact
Read the checksummed artifact response. Direct JSON downloads are listed on the releases page.

Domains and categories

Both endpoints return an items array with id, name, slug, and optional description. Categories also include domain_id and, when nested, parent_id. Join these IDs to the domain and category lists to reconstruct the hierarchy.

These are complete lists without pagination, ordered by name and then ID. Only classifications included in a public release appear here.

To find technologies in a classification, pass classification IDs, not slugs, to the existing search endpoint. Replace the example IDs with values from the lists:

curl --fail-with-body 'https://technologies.quea.st/api/v1/technologies?category=cat_0056GQ9BXW4GJ3RPHT7PMDB0P3'
curl --fail-with-body 'https://technologies.quea.st/api/v1/technologies?domain=dom_0J7EYFVEWT063FDR5WN978TKEJ'

Classification responses include request_id, with ETag, cache, and quota headers. They do not include a release_version field. For a pinned version containing technologies and both classification lists together, download a versioned release.

An empty local preview keeps public API reads unavailable (503) until its public artifact and active release match.

Pagination and errors

Cursors are opaque. Pass next_cursor back as after without decoding or editing it. Keep the same filters while paging. Invalid input uses a structured 4xx response; unavailable publication state uses 503. A 429 response includes Retry-After.

Authentication and quotas

Anonymous clients can make 10 read requests per minute. Each existing bearer API key can make 600 read requests per minute. HTTP and MCP use the same shared quota for an anonymous IP or authenticated key. A separate 600-request-per-minute IP admission ceiling applies before credential lookup.

Bearer API keys use the Authorization: Bearer tq_live_… header and scopes such as taxonomy:read. Create an API account for higher limits. Verify your email, then sign in to manage API keys and view usage. Verification and password recovery require email delivery; the account form reports when delivery is unavailable. Key secrets are shown only when created or rotated. The account area grants no taxonomy editing access.