MCP ServerEnhance your AI tools.Learn more →

Developers

TenderMetro API, webhooks and MCP

Everything in TenderMetro is available to your own systems and to AI assistants: a REST API over the same global tender, buyer, supplier and award data, signed webhooks for new activity, CSV exports from any search, and an MCP server so assistants can work your pipeline directly.

1. Authentication

Create a key under Developer & integrations. Keys are shown once and stored hashed. Send it as a bearer token or in x-api-key. Quota: 1,000 requests per hour per key.

curl https://www.tendermetro.com/api/public/v1/opportunities?region=Europe&limit=5 \
  -H "Authorization: Bearer tm_live_xxxxxxxxxxxx"

2. Endpoints

GET/api/public/v1/opportunities

Search tenders. Filters: query, sector, region, country, status, type, min_value, limit, offset.

GET/api/public/v1/opportunities/{ref}

One tender with full description, buyer and documents.

GET/api/public/v1/buyers

Buying organisations ranked by annual spend.

GET/api/public/v1/buyers/{slug}

One buyer with its recent tenders.

GET/api/public/v1/companies

Suppliers tracked in TenderMetro.

GET/api/public/v1/companies/{slug}

One supplier with award history.

GET/api/public/v1/awards

Awards, filterable by sector and region.

GET/api/public/v1/activity

Live market signal feed (published, closing soon, awarded).

GET/api/public/v1/market/stats

Headline totals across tenders, buyers, suppliers and awarded value.

GET/api/public/v1/me/pipeline

The key owner's capture pipeline.

Every list response returns { data, meta: { total, limit, offset } }. Values are normalised to USD in value_usd alongside the original currency.

3. Webhooks

Register an https endpoint and pick your events: opportunity.published, opportunity.closing_soon, award.published. Generic endpoints receive JSON with an HMAC-SHA256 signature over the raw body; Slack endpoints receive a formatted message instead.

POST /your-endpoint
X-TenderMetro-Event: activity.batch
X-TenderMetro-Signature: sha256=<hex hmac of the raw body>

{
  "event": "activity.batch",
  "delivered_at": "2026-09-11T08:00:00.000Z",
  "data": { "title": "12 new market events", "events": [ ... ] }
}

Verify with your endpoint's signing secret, shown when you create it, using a timing-safe comparison.

4. MCP server for AI assistants

Add https://app.tendermetro.com/mcp as a remote MCP server in Claude, ChatGPT, Cursor or any MCP client. You sign in to TenderMetro and approve the connection; the assistant then acts as you, so your pipeline and saved searches stay private to your account. Building an agent? Read TenderMetro for Agents for tool contracts, response shapes and agent guidance.

search_opportunities

Keyword and filter search across every tracked market.

get_opportunity

Full tender record including documents.

get_buyer

Buyer profile with tenders and awards.

get_company

Supplier profile with award history and total awarded value.

market_activity

Latest market signals.

market_stats

Totals and award value by sector, region or country.

my_pipeline

The signed-in user's pursuits.

my_saved_searches

The signed-in user's saved searches.

track_opportunity

Add or update a tender in the user's pipeline.

5. Exports

Any opportunity search can be exported to CSV straight from the results header — up to 100 records per export on Standard Plus, 5,000 on Growth Plus and 30,000 on Enterprise, with the same columns the API returns. For bulk or scheduled delivery, use the API or a webhook.

Field-by-field definitions live in the data model. Need higher limits or a private feed? Talk to us.