REST API Reference
39 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. Register
curl -X POST /api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email": "you@company.com", "password": "your-password"}'
# 2. Login (get a 15-min JWT)
curl -X POST /api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "you@company.com", "password": "your-password"}'
# Response: { "access_token": "eyJ...", "token_type": "bearer" }
# 3. Create a long-lived API key
curl -X POST /api/v1/auth/keys \
-H "Authorization: Bearer eyJ..." \
-d '{"name": "My App"}'
# Response: { "key": "wot_abc123...", "api_key": {...} }
# 4. Use the API 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 |
Export
Bulk data export in JSONL and CSV formats
/api/v1/export/systems.jsonlExport all classification systems as JSONL (one JSON object per line).
/api/v1/export/systems/{id}/nodes.jsonlExport all nodes in a system as JSONL.
| Parameter | Description |
|---|---|
| id* | System ID |
/api/v1/export/crosswalks.jsonlExport all crosswalk edges as JSONL.
/api/v1/systems/{id}/export.csvDownload all nodes in a system as CSV. Columns: code, title, description, level, parent_code, is_leaf.
| Parameter | Description |
|---|---|
| id* | System ID |
/api/v1/systems/{id}/crosswalk/{target}/export.csvDownload crosswalk edges between two systems as CSV.
| Parameter | Description |
|---|---|
| id* | Source system ID |
| target* | Target system ID |
Authentication
Register, login, and manage API keys
/api/v1/auth/registerCreate a new user account.
| Parameter | Description |
|---|---|
| email* | Email address |
| password* | Password (min 8 characters) |
| display_name | Display name |
/api/v1/auth/loginAuthenticate and receive a short-lived JWT (15 min expiry).
| Parameter | Description |
|---|---|
| email* | Email address |
| password* | Password |
/api/v1/auth/meGet current user profile.
/api/v1/auth/keysCreate a long-lived API key (wot_ prefix).
| Parameter | Description |
|---|---|
| name | Key name(default: "Default") |
/api/v1/auth/keysList all API keys for the current user.
/api/v1/auth/keys/{key_id}Deactivate an API key.
| Parameter | Description |
|---|---|
| key_id* | API key UUID |
/api/v1/auth/oauth/{provider}/authorizeGet the OAuth authorization URL for a provider. Redirect the user to this URL.
| Parameter | Description |
|---|---|
| provider* | OAuth provider: github, google, or linkedin |
| redirect_to | Destination URL after auth completes |
/api/v1/auth/oauth/{provider}/callbackOAuth callback handler. Exchanges code for token, upserts user, issues JWT.
| Parameter | Description |
|---|---|
| provider* | OAuth provider |
| code | Authorization code from provider |
| state | CSRF state parameter |
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.