REST API Reference
32 endpoints for searching, browsing, translating, and exporting classification codes across 1,000+ systems. JSON over HTTP - no SDK required.
Base URL
/api/v1
Auth
Bearer token or wot_ API key
Rate limits
30/min anon, 1,000/min auth
Authentication flow
# 1. Visit /login in a browser, enter your email. You will receive # a one-time sign-in link (no password). Click it to sign in. # 2. From /developers/keys, click "Generate key". Copy the value - # we never show it again. # 3. Use the key in all future requests: curl /api/v1/search?q=physician \ -H "Authorization: Bearer wot_abc123..."
Systems & Nodes
Browse classification systems and navigate their hierarchies
/api/v1/systems Try itList all classification systems with metadata and node counts.
| Parameter | Description |
|---|---|
| group_by | Group results (e.g. "region") |
| country | Filter by ISO 3166-1 alpha-2 country code |
/api/v1/systems/{id} Try itGet a system with its root-level nodes.
| Parameter | Description |
|---|---|
| id* | System ID (e.g. naics_2022, isic_rev4) |
/api/v1/systems/{id}/nodes/{code} Try itFetch a single classification node by system and code.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Node code (e.g. 6211, A01) |
/api/v1/systems/{id}/nodes/{code}/children Try itGet direct children of a node to navigate the hierarchy downward.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Parent node code |
/api/v1/systems/{id}/nodes/{code}/ancestors Try itGet the full path from root to this node.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Node code |
/api/v1/systems/{id}/nodes/{code}/equivalences Try itGet cross-system equivalence mappings for a node.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Node code |
Search
Full-text search across 1.2M+ classification nodes
/api/v1/search Try itFull-text search across all classification systems. Searches titles and codes.
| Parameter | Description |
|---|---|
| q* | Search query (e.g. "physician", "farming", "6211") |
| system | Filter to a specific system ID |
| limit | Max results (1-200)(default: 50) |
| grouped | Group results by system(default: false) |
| context | Include ancestors/children for each match(default: false) |
Crosswalks
Explore 321K+ equivalence edges connecting classification systems
/api/v1/equivalences/stats Try itGet counts of equivalence edges per system pair.
| Parameter | Description |
|---|---|
| system_id | Filter to a specific system |
/api/v1/systems/{source}/crosswalk/{target}/graph Try itGet graph data (nodes + edges) for crosswalk visualization between two systems.
| Parameter | Description |
|---|---|
| source* | Source system ID |
| target* | Target system ID |
| limit | Max edges (1-5000)(default: 500) |
| section | Filter to edges within a section code |
/api/v1/systems/{source}/crosswalk/{target}/sections Try itSection-level summary of crosswalk edges. Returns top-level groupings with edge counts for progressive drill-down.
| Parameter | Description |
|---|---|
| source* | Source system ID |
| target* | Target system ID |
Explore & Compare
Advanced queries for translation, comparison, and analysis
/api/v1/systems/{id}/nodes/{code}/translations Try itAll cross-system mappings for a code in one call.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Node code |
/api/v1/systems/{id}/nodes/{code}/siblings Try itOther nodes at the same hierarchy level under the same parent.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Node code |
/api/v1/systems/{id}/nodes/{code}/subtree Try itAggregate stats for all nodes under a given code: total count, leaf count, max depth.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Root node code |
/api/v1/compare Try itSide-by-side top-level sectors for two systems.
| Parameter | Description |
|---|---|
| a* | First system ID |
| b* | Second system ID |
/api/v1/diff Try itFind codes in system A that have no equivalence mapping to system B.
| Parameter | Description |
|---|---|
| a* | Source system ID |
| b* | Target system to check against |
/api/v1/nodes/{code} Try itFind all systems that contain a given code (resolve ambiguous codes).
| Parameter | Description |
|---|---|
| code* | Code to look up across all systems |
/api/v1/systems/stats Try itPer-system leaf and total node counts for granularity comparison.
| Parameter | Description |
|---|---|
| system_id | Filter to a specific system |
Countries
Taxonomy coverage and profiles for 249 countries
/api/v1/countries/stats Try itPer-country taxonomy coverage stats for all countries. Used by the world map visualization.
/api/v1/countries/{code} Try itTaxonomy profile for a country: official systems, regional standards, and sector strengths.
| Parameter | Description |
|---|---|
| code* | ISO 3166-1 alpha-2 code (e.g. US, DE, IN) |
Classification
AI-powered classification of free-text descriptions
/api/v1/classifyClassify a business, product, occupation, or activity description against taxonomy systems. Returns matching codes with relevance scores.
| Parameter | Description |
|---|---|
| text* | Free-text description (2-500 chars) |
| systems | System IDs to search (default: all major systems) |
| limit | Max matches per system(default: 5) |
/api/v1/systems/{id}/nodes/{code}/generateGenerate AI-suggested sub-classifications for a node (preview only, no DB write).
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Parent node code |
| count | Number of sub-categories to generate (1-10)(default: 5) |
/api/v1/systems/{id}/nodes/{code}/generate/acceptPersist user-accepted AI-generated nodes to the database.
| Parameter | Description |
|---|---|
| id* | System ID |
| code* | Parent node code |
| nodes* | Array of {code, title, description} to accept |
Authentication
Sign in via email magic link; manage API keys via the dashboard at /developers/keys
/api/v1/developers/signupSend a one-time sign-in link to the given email. The link expires in 15 minutes and is single-use. Backed by the same handler the /login UI calls.
| Parameter | Description |
|---|---|
| email* | Email address to receive the link |
/api/v1/auth/magic-callbackConsume a magic-link token (from the email) and set the dev_session + wot_csrf cookies. Browser flow; the /login page handles this via the /auth/magic page.
| Parameter | Description |
|---|---|
| t* | One-time magic-link token |
/api/v1/auth/logoutClear the dev_session + wot_csrf cookies on this domain.
/api/v1/developers/keysCreate a long-lived API key. Cookie-gated; requires a wot_csrf X-CSRF-Token header.
| Parameter | Description |
|---|---|
| name* | Human-readable name |
| scopes | Scope set, e.g. ["wot:read", "wot:list"] or ["wot:*"](default: ["wot:*"]) |
| expires_in_days | Optional expiry in days (1-3650) |
/api/v1/developers/keysList all API keys for the cookie-authenticated user. No raw key values - prefix only.
/api/v1/developers/keys/{key_id}Revoke an API key. Cookie-gated; requires the X-CSRF-Token header.
| Parameter | Description |
|---|---|
| key_id* | API key UUID |
Wiki & Content
Curated guide pages and audit reports
/api/v1/wiki Try itList all wiki guide pages with metadata.
/api/v1/wiki/{slug} Try itGet a single wiki page by slug.
| Parameter | Description |
|---|---|
| slug* | Page slug (e.g. getting-started) |
/api/v1/audit/provenance Try itAggregate audit report: provenance tiers, missing hashes, structural derivation accounting, skeleton systems.
Contact
Enterprise inquiries
/api/v1/contactSubmit an enterprise inquiry or general contact form.
| Parameter | Description |
|---|---|
| name* | Your name (1-200 chars) |
| company | Company name (max 200 chars) |
| email* | Email address |
| message* | Message (10-2000 chars) |
Utility
Bot-facing and LLM-friendly endpoints
Need higher limits or custom integrations?
Pro and Enterprise plans include bulk export, classification API, and dedicated support.