WoT
Developers
API Reference

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

GET
/api/v1/systems Try it

List all classification systems with metadata and node counts.

ParameterDescription
group_byGroup results (e.g. "region")
countryFilter by ISO 3166-1 alpha-2 country code
GET
/api/v1/systems/{id} Try it

Get a system with its root-level nodes.

ParameterDescription
id*System ID (e.g. naics_2022, isic_rev4)
GET
/api/v1/systems/{id}/nodes/{code} Try it

Fetch a single classification node by system and code.

ParameterDescription
id*System ID
code*Node code (e.g. 6211, A01)
GET
/api/v1/systems/{id}/nodes/{code}/children Try it

Get direct children of a node to navigate the hierarchy downward.

ParameterDescription
id*System ID
code*Parent node code
GET
/api/v1/systems/{id}/nodes/{code}/ancestors Try it

Get the full path from root to this node.

ParameterDescription
id*System ID
code*Node code
GET
/api/v1/systems/{id}/nodes/{code}/equivalences Try it

Get cross-system equivalence mappings for a node.

ParameterDescription
id*System ID
code*Node code

Crosswalks

Explore 321K+ equivalence edges connecting classification systems

GET
/api/v1/equivalences/stats Try it

Get counts of equivalence edges per system pair.

ParameterDescription
system_idFilter to a specific system
GET
/api/v1/systems/{source}/crosswalk/{target}/graph Try it

Get graph data (nodes + edges) for crosswalk visualization between two systems.

ParameterDescription
source*Source system ID
target*Target system ID
limitMax edges (1-5000)(default: 500)
sectionFilter to edges within a section code
GET
/api/v1/systems/{source}/crosswalk/{target}/sections Try it

Section-level summary of crosswalk edges. Returns top-level groupings with edge counts for progressive drill-down.

ParameterDescription
source*Source system ID
target*Target system ID

Explore & Compare

Advanced queries for translation, comparison, and analysis

GET
/api/v1/systems/{id}/nodes/{code}/translations Try it

All cross-system mappings for a code in one call.

ParameterDescription
id*System ID
code*Node code
GET
/api/v1/systems/{id}/nodes/{code}/siblings Try it

Other nodes at the same hierarchy level under the same parent.

ParameterDescription
id*System ID
code*Node code
GET
/api/v1/systems/{id}/nodes/{code}/subtree Try it

Aggregate stats for all nodes under a given code: total count, leaf count, max depth.

ParameterDescription
id*System ID
code*Root node code
GET
/api/v1/compare Try it

Side-by-side top-level sectors for two systems.

ParameterDescription
a*First system ID
b*Second system ID
GET
/api/v1/diff Try it

Find codes in system A that have no equivalence mapping to system B.

ParameterDescription
a*Source system ID
b*Target system to check against
GET
/api/v1/nodes/{code} Try it

Find all systems that contain a given code (resolve ambiguous codes).

ParameterDescription
code*Code to look up across all systems
GET
/api/v1/systems/stats Try it

Per-system leaf and total node counts for granularity comparison.

ParameterDescription
system_idFilter to a specific system

Countries

Taxonomy coverage and profiles for 249 countries

GET
/api/v1/countries/stats Try it

Per-country taxonomy coverage stats for all countries. Used by the world map visualization.

GET
/api/v1/countries/{code} Try it

Taxonomy profile for a country: official systems, regional standards, and sector strengths.

ParameterDescription
code*ISO 3166-1 alpha-2 code (e.g. US, DE, IN)

Classification

AI-powered classification of free-text descriptions

POSTPro+
/api/v1/classify

Classify a business, product, occupation, or activity description against taxonomy systems. Returns matching codes with relevance scores.

ParameterDescription
text*Free-text description (2-500 chars)
systemsSystem IDs to search (default: all major systems)
limitMax matches per system(default: 5)
POSTAuth required
/api/v1/systems/{id}/nodes/{code}/generate

Generate AI-suggested sub-classifications for a node (preview only, no DB write).

ParameterDescription
id*System ID
code*Parent node code
countNumber of sub-categories to generate (1-10)(default: 5)
POSTAuth required
/api/v1/systems/{id}/nodes/{code}/generate/accept

Persist user-accepted AI-generated nodes to the database.

ParameterDescription
id*System ID
code*Parent node code
nodes*Array of {code, title, description} to accept

Export

Bulk data export in JSONL and CSV formats

GETPro+
/api/v1/export/systems.jsonl

Export all classification systems as JSONL (one JSON object per line).

GETPro+
/api/v1/export/systems/{id}/nodes.jsonl

Export all nodes in a system as JSONL.

ParameterDescription
id*System ID
GETEnterprise
/api/v1/export/crosswalks.jsonl

Export all crosswalk edges as JSONL.

GETAuth required
/api/v1/systems/{id}/export.csv

Download all nodes in a system as CSV. Columns: code, title, description, level, parent_code, is_leaf.

ParameterDescription
id*System ID
GETAuth required
/api/v1/systems/{id}/crosswalk/{target}/export.csv

Download crosswalk edges between two systems as CSV.

ParameterDescription
id*Source system ID
target*Target system ID

Authentication

Register, login, and manage API keys

POST
/api/v1/auth/register

Create a new user account.

ParameterDescription
email*Email address
password*Password (min 8 characters)
display_nameDisplay name
POST
/api/v1/auth/login

Authenticate and receive a short-lived JWT (15 min expiry).

ParameterDescription
email*Email address
password*Password
GETAuth required
/api/v1/auth/me

Get current user profile.

POSTAuth required
/api/v1/auth/keys

Create a long-lived API key (wot_ prefix).

ParameterDescription
nameKey name(default: "Default")
GETAuth required
/api/v1/auth/keys

List all API keys for the current user.

DELETEAuth required
/api/v1/auth/keys/{key_id}

Deactivate an API key.

ParameterDescription
key_id*API key UUID
GET
/api/v1/auth/oauth/{provider}/authorize

Get the OAuth authorization URL for a provider. Redirect the user to this URL.

ParameterDescription
provider*OAuth provider: github, google, or linkedin
redirect_toDestination URL after auth completes
GET
/api/v1/auth/oauth/{provider}/callback

OAuth callback handler. Exchanges code for token, upserts user, issues JWT.

ParameterDescription
provider*OAuth provider
codeAuthorization code from provider
stateCSRF state parameter

Wiki & Content

Curated guide pages and audit reports

GET
/api/v1/wiki Try it

List all wiki guide pages with metadata.

GET
/api/v1/wiki/{slug} Try it

Get a single wiki page by slug.

ParameterDescription
slug*Page slug (e.g. getting-started)
GET
/api/v1/audit/provenance Try it

Aggregate audit report: provenance tiers, missing hashes, structural derivation accounting, skeleton systems.

Contact

Enterprise inquiries

POST
/api/v1/contact

Submit an enterprise inquiry or general contact form.

ParameterDescription
name*Your name (1-200 chars)
companyCompany name (max 200 chars)
email*Email address
message*Message (10-2000 chars)

Utility

Bot-facing and LLM-friendly endpoints

GET/robots.txtRobots.txt for search engine crawlers Try it
GET/llms.txtShort summary for LLM crawlers Try it
GET/llms-full.txtComprehensive documentation for LLM ingestion Try it

Need higher limits or custom integrations?

Pro and Enterprise plans include bulk export, classification API, and dedicated support.

View pricing