Developer & AI documentation

NACEBridge API & MCP

One bridge between every European activity code — exposed as a REST gateway, an MCP Streamable HTTP server, a JavaScript SDK and an open-source Python wrapper. Data powered by TΣKSOMΛ | MΛRKET INTΣLLIGENCE.

Overview

NACEBridge maps EU NACE Rev 2.1 down to the 5th-digit national subclasses used by 27 EU nations, the UK and Switzerland (CAE-Rev4 PT, NAF FR, WZ DE, SBI NL, …). All four web utilities are also available programmatically:

  • searchglobal + local keyword search
  • decodeexpand a national code into its full EU hierarchy
  • cousinscross-border equivalent subclasses
  • gridmulti-country pivot for a NACE division

Authentication & API keys

Every request to /api/v1/* carries an X-API-Key header. Sign in and generate keys in your API keys dashboard. Keys are hashed at rest — we never store the plaintext.

X-API-Key: nb_live_XXXXXXXXXXXXXXXXXXXXXXXX

The MCP endpoint uses the exact same header, the exact same per-tier rate limits and the exact same request log as the REST gateway — the only difference is the URL (/mcp instead of /api/v1/…) and the JSON-RPC envelope. Anonymous web traffic is allowed for the UI utilities but is soft-gated with a per-IP strike counter (see Rate limits).

Rate limits

TierLimitNotes
Anonymous web30 req / IPCAPTCHA v4 for website usage · IP CAPTCHA for API / MCP
Free user60 req / hour · 250 / dayPrototyping & simple apps
Pro10,000 req / dayFull cousin matrix & grid included
Developer100,000 req / dayBulk export & historical revisions
EnterpriseCustomDedicated MCP, SLA, on-prem — contact us

Bursts above the per-window cap return HTTP 429 with Retry-After.

REST endpoints

Five resources under https://nacebridge.dev/api/v1/*. Every endpoint accepts GET with query params or POST with a JSON body. Responses are { ok, tier, data } with X-RateLimit-* headers attached.

EndpointInputReturns
GET /api/v1/searchq, limit?Matching EU classes + national subclasses
GET /api/v1/decodecountry_iso, codeFull NACE hierarchy for one national subclass
GET /api/v1/cousinscountry_iso, codeEquivalent subclasses across the EU
GET /api/v1/griddivision?, countries?, limit?Multi-country pivot of classes vs subclasses
GET /api/v1/countriesISO codes currently loaded
# Decode a Portuguese CAE-Rev4 code
curl -s "https://nacebridge.dev/api/v1/decode?country_iso=PT&code=62010" \
  -H "X-API-Key: $NACEBRIDGE_API_KEY"

# Or POST JSON
curl -s "https://nacebridge.dev/api/v1/cousins" \
  -H "X-API-Key: $NACEBRIDGE_API_KEY" \
  -H "content-type: application/json" \
  -d '{"country_iso":"DE","code":"62.01.0"}'

MCP server (Streamable HTTP)

NACEBridge speaks the MCP Streamable HTTP transport spec. Point any MCP client at:

https://nacebridge.dev/mcp

POST JSON-RPC 2.0 with both content types in Accept:

POST /mcp HTTP/1.1
Content-Type: application/json
Accept: application/json, text/event-stream

{"jsonrpc":"2.0","id":1,"method":"tools/list"}

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "nacebridge": {
      "url": "https://nacebridge.dev/mcp",
      "headers": { "X-API-Key": "nb_live_..." }
    }
  }
}

ChatGPT (Plus / Pro / Team): add as a custom Connector with the same URL — search and fetch tools are exposed for Deep Research.

Cursor: add to ~/.cursor/mcp.json with the same URL.

MCP tool reference

search{ q? }

ChatGPT Connectors search. Returns ranked { id, title, url, snippet }.

fetch{ id }

ChatGPT Connectors fetch. id shape: '<country_iso>:<code>' or 'eu:<class_code>'.

keyword_search{ q, limit? }

Free-text across EU classes and national subclasses.

decode_local_code{ country_iso, code }

Expand a national subclass into its full EU NACE hierarchy.

cousin_matrix{ country_iso, code }

Equivalent subclasses in every other EU country, anchored on the 4-digit NACE class.

class_grid{ division?, countries?, limit? }

Pivot of EU classes vs national subclasses across selected countries.

list_countries{}

Country ISO codes currently loaded.

AI assistant skills (Claude, Cursor, Devin)

Drop-in instructions that teach your AI assistant when and how to call NACEBridge. Download, install in the assistant of your choice, and the next time the user pastes a NACE / CAE / NAF / WZ / SBI code the assistant will reach for the MCP server instead of guessing.

All three reference the public MCP and REST URLs only. They contain no API key — users supply their own from the API keys dashboard.

JavaScript SDK

npm i @nacebridge/sdk

import { NACEBridge } from "@nacebridge/sdk";
const nb = new NACEBridge({ apiKey: process.env.NACEBRIDGE_API_KEY });

const cousins = await nb.cousins({ country_iso: "NL", code: "6201" });
const grid    = await nb.grid({ division: "62", countries: ["PT","FR","DE","NL"] });

Python MCP wrapper

The open-source wrapper lives in public-wrappers/mcp/. It is a thin httpx proxy — zero local data — so the private gateway stays the source of truth.

pip install -e ./public-wrappers/mcp

# Then in your MCP client config:
{
  "mcpServers": {
    "nacebridge-local": {
      "command": "python",
      "args": ["-m", "nacebridge_mcp"],
      "env": {
        "NACEBRIDGE_API_KEY": "nb_live_...",
        "NACEBRIDGE_URL": "https://nacebridge.dev"
      }
    }
  }
}

AI discovery (llms.txt, Ask-an-AI)

We publish a machine-readable site map at /llms.txt and a richer index at /llms-full.txt so AI assistants can self-onboard. The Ask-an-AI block on the homepage hands a fresh chat over to ChatGPT, Claude, Gemini, Grok or Perplexity, seeded with a NACEBridge prompt that tells the assistant to use the MCP server rather than guess.

Errors

  • 401missing or invalid X-API-Key
  • 402tier quota exhausted, upgrade required
  • 422input failed Zod validation; response carries field details
  • 429rate limit hit, honour Retry-After
  • 5xxincident; retries are safe (all operations are read-only)

Licensing

NACE Rev 2.1 metadata © European Union, reused under the Commission's reuse policy. National subclass metadata © respective national statistical institutes (INE, INSEE, DESTATIS, CBS, …). The NACEBridge mappings, normalised schema and wrappers are distributed by TΣKSOMΛ Holding, Lda., built by TΣKSOMΛ Technologies and powered by TΣKSOMΛ | MΛRKET INTΣLLIGENCE.

Ask an AI

Hand NACEBridge to your favourite AI.

Open a fresh chat pre-loaded with a NACEBridge seed prompt. The assistant will discover the MCP server and live data on its own — no copy-paste, no hallucinated mappings.

MCP server (Claude Desktop, ChatGPT Connectors, Cursor)
https://nacebridge.dev/mcp