Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/b2bhint-com:b2bhint-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: B2BHint API
version: '2026-11-02'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-02: 16 operation(s) read from 9 public documentation page(s) (each operation
names its page in x-source). This is not the provider''s published contract; B2BHint has published no machine-readable contract that the pipeline
could find. Engine: oss.'
x-evidence-tiers:
code-example: 10
documentation: 6
pages-with-code: 9
pages-read: 9
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-02'
x-generator: generate-contract-from-docs.py
x-engine: oss
x-sources:
- https://b2bhint.com/en/api-reference/quickstart
- https://b2bhint.com/en/api-reference/authentication
- https://b2bhint.com/en/api-reference/pagination
- https://b2bhint.com/en/api-reference/rate-limits
- https://b2bhint.com/en/api-reference/verify-widget
- https://b2bhint.com/en/api-reference/mcp
- https://b2bhint.com/en/api-reference/search
- https://b2bhint.com/en/api-reference/company
- https://b2bhint.com/en/api-reference/static-data
paths:
/api/mcp:
post:
operationId: post_api_mcp
tags:
- Api
summary: POST /api/mcp
x-source: https://b2bhint.com/en/api-reference/mcp
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiMcpRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl Copy curl -s https://b2bhint.com/api/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d
''{ "jsonrpc" : "2.0" , "id" :1, "method" : "tools/list" }'' Tools search_companies GET /api/v1/company/search Search B2BHint companies
by name. Wraps GET /api/v1/company/search — counted against your API search allowance. Each result carries its b2bhint.com profil'
/api/v1/company/changes:
get:
operationId: get_api_v1_company_changes
tags:
- Api
summary: GET /api/v1/company/changes
x-source: https://b2bhint.com/en/api-reference/company
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiV1CompanyChangesResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl Copy curl -G https://b2bhint.com/api/v1/company/changes -H \"apiKey: {apiKey}\" -d limit = \"50\" Response · 200 Copy\
\ { \n \"changes\" : [ \n { \n \"companyName\" : \"Sabiedrība ar ierobežotu atbildību \\\"Tet\\\"\" , \n \"shortName\" : null , \n \"\
brandName\" : \"Tet\" , \n \"internationalNumber\" : \"40003052786\" , \n \"countryCode\" : \"lv\" , \n \"change\" : \"persons\" , \n\
\ \"typeId\" : 8 , \n \"at\" : \"2026-07-11T08:14:22.113Z\" "
/api/v1/company/details:
get:
operationId: get_api_v1_company_details
tags:
- Api
summary: GET /api/v1/company/details
x-source: https://b2bhint.com/en/api-reference/rate-limits
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -sD - -o /dev/null -G https://b2bhint.com/api/v1/company/details -H "apiKey: {apiKey}" -d countryCode = gb -d internationalNumber
= 00000006 '
/api/v1/company/resolve:
post:
operationId: post_api_v1_company_resolve
tags:
- Api
summary: Resolve up to 25 messy company names/numbers to registry records in one call.
description: Resolve up to 25 messy company names/numbers to registry records in one call. Wraps POST /api/v1/company/resolve — billed per
matched row against your API quota.
x-source: https://b2bhint.com/en/api-reference/mcp
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/company/search:
get:
operationId: get_api_v1_company_search
tags:
- Api
summary: Search B2BHint companies by name.
description: Search B2BHint companies by name. Wraps GET /api/v1/company/search — counted against your API search allowance.
x-source: https://b2bhint.com/en/api-reference/mcp
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/company/search-by-email:
get:
operationId: get_api_v1_company_search_by_email
tags:
- Api
summary: GET /api/v1/company/search-by-email
x-source: https://b2bhint.com/en/api-reference/search
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiV1CompanySearchByEmailResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl Copy curl -G https://b2bhint.com/api/v1/company/search-by-email -H \"apiKey: {apiKey}\" -d email = \" [email protected]\
\ \" Response · 200 Copy [ \n { \n \"name\" : \"Sabiedrība ar ierobežotu atbildību \\\"Tet\\\"\" , \n \"shortName\" : null , \n \"brandName\"\
\ : \"Tet\" , \n \"internationalNumber\" : \"40003052786\" , \n \"countryCode\" : \"lv\" \n } , "
/api/v1/country/list:
get:
operationId: get_api_v1_country_list
tags:
- Api
summary: List every jurisdiction B2BHint covers.
description: List every jurisdiction B2BHint covers. Wraps GET /api/v1/country/list — not metered.
x-source: https://b2bhint.com/en/api-reference/mcp
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/person/details:
get:
operationId: get_api_v1_person_details
tags:
- Api
summary: Fetch one officer/director profile by its numeric id.
description: Fetch one officer/director profile by its numeric id (from search_officers). Wraps GET /api/v1/person/details — counted against
your API quota.
x-source: https://b2bhint.com/en/api-reference/mcp
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/person/search:
get:
operationId: get_api_v1_person_search
tags:
- Api
summary: Search B2BHint officers/directors by name.
description: Search B2BHint officers/directors by name. Wraps GET /api/v1/person/search — counted against your API search allowance.
x-source: https://b2bhint.com/en/api-reference/mcp
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/user/me:
get:
operationId: get_api_v1_user_me
tags:
- Api
summary: GET /api/v1/user/me returns an access object describing which jurisdictions your key may query.
description: Returns an access object with scope and list of allowed country codes for the API key.
x-source: https://b2bhint.com/en/api-reference/authentication
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiV1UserMeResponse'
x-evidence:
kind: documentation
/api/v1/watchlist:
get:
operationId: get_api_v1_watchlist
tags:
- Api
summary: GET /api/v1/watchlist
x-source: https://b2bhint.com/en/api-reference/company
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiV1WatchlistResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl Copy curl https://b2bhint.com/api/v1/watchlist -H \"apiKey: {apiKey}\" Response · 200 Copy { \n \"watching\" : [ \n {\
\ \n \"name\" : \"Sabiedrība ar ierobežotu atbildību \\\"Tet\\\"\" , \n \"shortName\" : null , \n \"brandName\" : \"Tet\" , \n \"internationalNumber\"\
\ : \"40003052786\" , \n \"countryCode\" : \"lv\" , \n \"watchedAt\" : \"2026-07-11T08:14:22.113Z\" , \n \"monitored\" : true \n } , "
post:
operationId: post_api_v1_watchlist
tags:
- Api
summary: POST /api/v1/watchlist
x-source: https://b2bhint.com/en/api-reference/company
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiV1WatchlistRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiV1WatchlistResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl Copy curl -X POST https://b2bhint.com/api/v1/watchlist -H \"apiKey: {apiKey}\" -H \"Content-Type: application/json\"\
\ -d '{\n \"companies\" : [\n { \"countryCode\" : \"lv\" , \"internationalNumber\" : \"40003052786\" , \"ref\" : \"supplier-118\" },\n\
\ { \"countryCode\" : \"gb\" , \"internationalNumber\" : \"00445790\" }\n ]\n }' Response · 200 Copy { \n \"success\" : true , \n \"\
action\" : \"add\" , \n \"maxItems\" : 50 , \n \"request"
/api/v2/search/company:
get:
operationId: get_api_v2_search_company
tags:
- Api
summary: GET /api/v2/search/company
x-source: https://b2bhint.com/en/api-reference/pagination
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiV2SearchCompanyResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl -G https://b2bhint.com/api/v2/search/company -H \"apiKey: {apiKey}\" -d q = lukoil -d perPage = 10 -d page = 1 Paginated\
\ response Copy { \n \"totalPages\" : 83 , \n \"totalResults\" : 827 , \n \"pagesTruncated\" : false , \n \"perPage\" : 10 , \n \"page\"\
\ : 1 , \n \"list\" : [ \n { "
/api/v2/static-data/countries:
get:
operationId: get_api_v2_static_data_countries
tags:
- Api
summary: GET /api/v2/static-data/countries
x-source: https://b2bhint.com/en/api-reference/static-data
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiV2StaticDataCountriesResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl Copy curl -G https://b2bhint.com/api/v2/static-data/countries -H \"apiKey: {apiKey}\" Response · 200 Copy [ \n { \n \"\
id\" : 136 , \n \"name\" : \"Dubai\" , \n \"parentId\" : 14 , \n \"code\" : \"ae-du\" \n } , \n { \n \"id\" : 21 , \n \"name\" : \"\
Estonia\" , \n \"parentId\" : null , \n \"code\" : \"ee\" \n } , \n { \n \"id\" : 28 , \n \"name\" : \"Finland\" , \n \"parentId\" :\
\ null , \n \"code\" : \"fi\" \n } , \n { \n \"id\" : 34 , \n \"name\" : \"Flo"
/api/v2/user/me:
get:
operationId: get_api_v2_user_me
tags:
- Api
summary: GET /api/v2/user/me
x-source: https://b2bhint.com/en/api-reference/quickstart
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: curl example, the request fetches account information with the necessary authentication. The account endpoint is available as
both /api/v2/user/me and /api/v1/user/me and the two return the same body — your account record plus the usage , access and freeTier
objects described later in this guide. Neither one spends any quota, so you can poll it freely. GET /api/v2/user/me cURL Copy curl https://b2
/api/widget/search:
get:
operationId: get_api_widget_search
tags:
- Api
summary: GET /api/widget/search
x-source: https://b2bhint.com/en/api-reference/verify-widget
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiWidgetSearchResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl -G https://b2bhint.com/api/widget/search --data-urlencode \"q=monzo\" --data-urlencode \"countryCode=gb\" --data-urlencode\
\ \"locale=en\" --data-urlencode \"limit=5\" Response Copy { \n \"query\" : \"monzo\" , \n \"results\" : [ \n { \n \"name\" : \"Monzo\
\ Bank Limited\" , \n \"countryCode\" : \"gb\" , \n \"countryName\" : \"United Kingdom\" , \n \"registrationNumber\" : \"09446231\"\
\ , \n \"address\" : \"Broadwalk House, 5 Appold "
components:
schemas:
PostApiMcpRequest:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
method:
type: string
GetApiV1CompanyChangesResponse:
type: object
properties:
changes:
type: array
items:
type: object
properties:
companyName:
type: string
shortName:
type:
- string
- 'null'
brandName:
type: string
internationalNumber:
type: string
countryCode:
type: string
change:
type: string
typeId:
type: integer
at:
type: string
format: date-time
nextCursor:
type: string
hasMore:
type: boolean
plan:
type: object
properties:
radarFrequency:
type: string
eventTypes:
type: string
typeIds:
type: array
items:
type: integer
typeCount:
type: integer
trackedTypeCount:
type: integer
GetApiV1CompanySearchByEmailResponse:
type: object
properties:
name:
type: string
shortName:
type:
- string
- 'null'
brandName:
type: string
internationalNumber:
type: string
countryCode:
type: string
GetApiV1UserMeResponse:
type: object
properties:
access:
type: object
description: Object describing the key's access scope.
access.scope:
type: string
description: Either "all" for unrestricted keys or "scoped" for limited keys.
access.countries:
type: array
description: Sorted list of lowercase country codes the key is allowed to query.
GetApiV1WatchlistResponse:
type: object
properties:
watching:
type: array
items:
type: object
properties:
name:
type: string
shortName:
type:
- string
- 'null'
brandName:
type: string
internationalNumber:
type: string
countryCode:
type: string
watchedAt:
type: string
format: date-time
monitored:
type: boolean
quota:
type: object
properties:
limit:
type: integer
used:
type: integer
remaining:
type: integer
watchedPersons:
type: integer
radar:
type: object
properties:
frequency:
type: string
eventTypes:
type: array
items:
type: integer
PostApiV1WatchlistRequest:
type: object
properties:
companies:
type: array
items:
type: object
properties:
countryCode:
type: string
internationalNumber:
type: string
ref:
type: string
PostApiV1WatchlistResponse:
type: object
properties:
success:
type: boolean
action:
type: string
maxItems:
type: integer
requested:
type: integer
added:
type: integer
alreadyWatching:
type: integer
notFound:
type: integer
quotaFull:
type: integer
countryNotAllowed:
type: integer
duplicateInRequest:
type: integer
slotsLeft:
type: integer
results:
type: array
items:
type: object
properties:
ref:
type: string
countryCode:
type: string
internationalNumber:
type: string
status:
type: string
name:
type: string
GetApiV2SearchCompanyResponse:
type: object
properties:
totalPages:
type: integer
totalResults:
type: integer
pagesTruncated:
type: boolean
perPage:
type: integer
page:
type: integer
list:
type: array
items:
type: object
GetApiV2StaticDataCountriesResponse:
type: object
properties:
id:
type: integer
name:
type: string
parentId:
type: integer
code:
type: string
GetApiWidgetSearchResponse:
type: object
properties:
query:
type: string
results:
type: array
items:
type: object
properties:
name:
type: string
countryCode:
type: string
countryName:
type: string
registrationNumber:
type: string
address:
type: string
url:
type: string
securitySchemes:
apiKey:
type: apiKey
in: header
name: apiKey
security:
- apiKey: []
tags:
- name: Api