Every company in the index — in the format your agent needs.
| Format | Path |
|---|---|
business.json | /suppliers/{slug}/business.json |
profile.md | /suppliers/{slug}/profile.md |
openapi.json | /openapi.json |
llms.txt | /llms.txt |
MCP | /mcp |
Per-supplier · JSON-LD
Structured data using the EU Registered Organization Vocabulary combined with Schema.org types. Machine-parseable, graph-ready, and resolvable via the btob.dev JSON-LD context.
curl https://btob.dev/suppliers/siemens-ag-de/business.json{
"@context": "https://btob.dev/ns/business/v1.jsonld",
"@type": ["rov:RegisteredOrganization", "schema:Organization"],
"rov:legalName": "Siemens AG",
"rov:registration": {
"rov:registrationIdentifier": "HRB 6684"
},
"schema:vatID": "DE129274202",
"rov:orgActivity": [
{
"@id": "http://data.europa.eu/ux2/nace2/26.11",
"schema:name": "Manufacture of electronic components"
}
],
"rov:orgStatus": {
"@id": "http://data.europa.eu/ux2/orgstatus/active"
},
"schema:foundingDate": "1847-10-01",
"schema:address": {
"@type": "schema:PostalAddress",
"schema:addressCountry": "DE",
"schema:addressLocality": "Munich",
"schema:postalCode": "80333",
"schema:streetAddress": "Werner-von-Siemens-Straße 1"
},
"schema:numberOfEmployees": {
"@type": "schema:QuantitativeValue",
"schema:minValue": 10000
},
"schema:url": "https://siemens.com",
"btob:companyType": "AG",
"btob:trustLevel": "verified_registry",
"btob:provenance": {
"btob:sources": [
{
"btob:url": "https://www.handelsregister.de/...",
"btob:type": "government_registry",
"btob:trustTier": "verified_registry"
}
],
"btob:dataQuality": {
"btob:qualityScore": 92,
"btob:lastUpdated": "2026-03-20T12:00:00.000Z"
}
},
"btob:apiEndpoint": "https://btob.dev/api/v1/suppliers/siemens-ag-de",
"btob:mcpServer": "https://btob.dev/mcp"
}| Field | Description |
|---|---|
rov:legalName | Registered company name |
schema:alternateName | Local-language name (when available) |
rov:registration | Registration identifier from national registry |
schema:vatID | EU VAT number |
btob:identifiers | Additional identifiers (LEI, DUNS, etc.) |
rov:orgActivity | NACE codes with EU URIs and descriptions |
rov:orgStatus | Company status (active, dissolved, etc.) |
schema:foundingDate | Registration / incorporation date |
schema:address | Full postal address (country, city, postal code, street) |
schema:numberOfEmployees | Employee count as min/max range |
schema:url | Company website |
btob:companyType | Legal form (GmbH, SAS, Ltd, etc.) |
btob:trustLevel | Data trust tier (e.g. verified_registry, public_directory) |
btob:provenance | Source URLs, quality score, timestamps |
The JSON-LD context document is at /ns/business/v1.jsonld. Fields are only included when the supplier has data for them — no null values.
Per-supplier · Markdown
LLM-optimized markdown. Structured for minimal token overhead while preserving all relevant supplier context. Drop it directly into a prompt or RAG pipeline.
curl https://btob.dev/suppliers/siemens-ag-de/profile.md# Siemens AG
- **Legal Name:** Siemens AG
- **Country:** DE
- **Region:** BY
- **City:** Munich
- **Status:** active
- **Founded:** 1847-10-01
- **Legal Form:** AG
- **Employees:** 10000+
- **Registration Number:** HRB 6684
- **VAT Number:** DE129274202
- **NACE:** 26.11 (Manufacture of electronic components)
- **Website:** https://siemens.com
- **Trust Level:** verified_registry
Global technology company focusing on industry, infrastructure,
transport, and healthcare.
## Data Provenance
- **Quality Score:** 92/100
- **Source Type:** Government Registry
- **Sources:**
- https://www.handelsregister.de/...
- **Last Updated:** 2026-03-20
## API Access
- REST: `GET https://btob.dev/api/v1/suppliers/siemens-ag-de`
- MCP: `https://btob.dev/mcp` → tool `get_supplier`
- business.json: `https://btob.dev/suppliers/siemens-ag-de/business.json`The profile includes all available fields for the supplier. Each profile ends with an API Access section linking back to the REST endpoint, MCP server, and JSON-LD format.
Site-level · API specification
Full OpenAPI 3.1 specification covering every REST endpoint. Import into Postman, generate typed SDK clients, or let your agent discover the API schema automatically.
curl https://btob.dev/openapi.jsonWhat's inside
Site-level · Agent discovery
Following the llmstxt.org convention. A structured Markdown file that tells an agent what btob.dev is, what data is available, how to authenticate, and links to every endpoint.
curl https://btob.dev/llms.txt# btob.dev
> Europe's B2B Data Layer — 34 million European companies, one query.
## Authentication
All API endpoints require an API key. Send as Bearer token or X-API-Key header.
## API
- Keyword Search: /api/v1/suppliers/search?q=example&limit=5
- Semantic Search: /api/v1/suppliers/semantic?q=renewable+energy+Germany
- Supplier by ID: /api/v1/suppliers/{id}
- Countries: /api/v1/countries
- Industries: /api/v1/industries
## MCP
- MCP Server: /mcp — 7 tools
## Agent Formats
- Business JSON-LD: /suppliers/{slug}/business.json
- Profile Markdown: /suppliers/{slug}/profile.md
...Both /llms.txt (spec path) and /llm.txt (legacy) are served. Agents following the llmstxt.org spec look for /llms.txt.
Agent integration · Model Context Protocol
7 tools available over the Model Context Protocol. Add btob.dev as a data source in Claude Desktop, Cursor, or any MCP-compatible agent.
| Tool | Description |
|---|---|
search_suppliers | Keyword search with country filter |
semantic_search | Natural language similarity search |
get_supplier | Full company profile by UUID |
get_supplier_profile | Markdown profile for LLM context |
get_business_json | JSON-LD structured data |
list_industries | All industry categories with counts |
list_countries | All countries with supplier counts |
Guide
Different formats serve different use cases. Pick based on what your integration needs.
| You need to… | Use |
|---|---|
| Ingest structured company data into a knowledge graph | business.json |
| Inject a supplier profile into an LLM prompt or RAG pipeline | profile.md |
| Let an agent discover the API before making calls | llms.txt |
| Generate a typed API client or import into Postman | openapi.json |
| Give an agent direct access to search and lookup tools | MCP |
Need a custom format, higher rate limits, or help with integration?
[email protected]