↑↓ navigate ↵ open esc close

Feature

Government contract search across 73 countries

Sell to State collects tenders and contract awards from official procurement portals and puts them in one schema. You search all of them at once, instead of one portal at a time.

Ask your AI agent

Claude ChatGPT Perplexity Grok
Set up Sell to State for me: government tenders and contract awards from official sources in 73 countries, as MCP tools. Agent docs: https://docs.selltostate.com/llms.txt
1. Sign me in yourself. Try this first: you need me only for one approval click.
- If you can send HTTP requests: POST https://app.selltostate.com/api/v1/agent/signup with JSON {"client_name": "<your app name>"}. Show me verification_uri_complete from the reply as a link. I open it, sign up free with Google or email, and approve the code. Every "interval" seconds, POST token_endpoint with {"device_code": "<device_code>"} until the reply has access_token. Send access_token in the x-api-key header to the MCP server https://app.selltostate.com/api/mcp.
- If you cannot send HTTP requests: tell me to add the MCP server https://app.selltostate.com/api/mcp in this app. Its sign-in page also creates the free account. Claude: Customize > Connectors > Add custom connector. ChatGPT: chatgpt.com/plugins > + > Add custom MCP server, choose OAuth. Claude Code: claude mcp add --transport http selltostate https://app.selltostate.com/api/mcp, then /mcp > Authenticate.
2. The tools are free to connect. A free account gets plan_search 3 times a day and search for 2 different searches a day: titles, buyers, status and dates. Amounts, winners and notice links need a plan. Call whoami to see my plan.
3. Ask me what my company sells and in which countries. Call plan_search with my answer, then search with its scope, q and filters. Show me the 10 best open tenders with the title, the buyer and the dates. Then give me app_url: it shows every row, and I can save the search there for email alerts.

Enterprise

Give your AI agent this prompt
1. Sign me in yourself. Try this first: you need me only for one approval click.
- If you can send HTTP requests: POST https://app.selltostate.com/api/v1/agent/signup with JSON {"client_name": "<your app name>"}. Show me verification_uri_complete from the reply as a link. I open it, sign up free with Google or email, and approve the code. Every "interval" seconds, POST token_endpoint with {"device_code": "<device_code>"} until the reply has access_token. Send access_token in the x-api-key header to the MCP server https://app.selltostate.com/api/mcp.
- If you cannot send HTTP requests: tell me to add the MCP server https://app.selltostate.com/api/mcp in this app. Its sign-in page also creates the free account. Claude: Customize > Connectors > Add custom connector. ChatGPT: chatgpt.com/plugins > + > Add custom MCP server, choose OAuth. Claude Code: claude mcp add --transport http selltostate https://app.selltostate.com/api/mcp, then /mcp > Authenticate.
2. The tools are free to connect. A free account gets plan_search 3 times a day and search for 2 different searches a day: titles, buyers, status and dates. Amounts, winners and notice links need a plan. Call whoami to see my plan. Read the skill at https://www.selltostate.com/skills/selltostate-search-government-contracts/SKILL.md.
3. Search open government tenders for <what my company sells> in <countries>, open for bids, and list title, buyer, deadline, value and the official notice link.
Or give your AI agent this skill (SKILL.md)
---
name: selltostate-search-government-contracts
description: Search tenders in 70+ countries with Sell to State data (government tenders and contract awards from official procurement sources). Use when the user asks for open government tenders, RFPs or bids for a product or service in one or more countries.
---

# Search tenders in 70+ countries (Sell to State)

## Access

1. MCP: the server https://app.selltostate.com/api/mcp (OAuth, or the x-api-key of the agent sign-in: POST https://app.selltostate.com/api/v1/agent/signup, the user approves one code). Call `whoami`. `active` false is a free account: `plan_search` and `search` only, 1-2 searches a day.
2. REST: https://app.selltostate.com/api/v1 with the header `x-api-key`. Read the key from `STS_API_KEY` and never print it.
3. No plan yet: the user picks a plan at https://app.selltostate.com/plans, or you run the agent signup in "Get access" of https://www.selltostate.com/skills/selltostate/SKILL.md. The user pays in the browser.

## Task

Search open government tenders for <what my company sells> in <countries>, open for bids, and list title, buyer, deadline, value and the official notice link.

Ask the user for each value in <angle brackets> before the first call.

## Steps

1. Search: MCP `search` with `scope=tenders`, `q`, `country` (lowercase slugs, comma-separated), `accepts_bids=true`, `sort=deadline`. REST: `GET https://app.selltostate.com/api/v1/search?scope=tenders&q=<words>&country=<slugs>&accepts_bids=true&sort=deadline&per_page=50`.
2. `q` takes plain words or boolean syntax: `OR`, `AND`, `NOT`, `"exact phrase"`, parentheses. Add synonyms with `OR`.
3. If `found` is 0, try `lifecycle=open`, then `published_days=30`.
4. Show title, buyer (the part of `sub` before " · "), country, `deadline_at`, value with its currency and `source_url`.
5. For the full record of one tender: MCP `get_tender`, or `GET https://app.selltostate.com/api/v1/tenders/{id}`.

## Rules

- Give `source_url` (the official notice) for each tender and award. The user reads the documents and bids on the official portal.
- Amounts are in the source currency. Do not add amounts in different currencies.
- The data shows awards, not bids. Do not say that a company lost a tender.
- On a 402, show the message and the link to the user, then stop. On a 429, wait `Retry-After` seconds.
- Credit the data: "Data: Sell to State (selltostate.com)".

More skills (open tenders, buyer research, competitor wins, alerts, API reference): https://github.com/getbeton/selltostate-skills

Skill file → All Sell to State skills on GitHub →

One search instead of many portals

Each country publishes tenders on its own portal, with its own fields and its own language. Sell to State reads them on a schedule and stores every notice in the same structure: title, buyer, supplier, value, status and dates. One query covers every country that you select.

Plain words or boolean syntax

Type the words that your buyers use. For exact control, use OR, AND, NOT, "exact phrase", parentheses and -word. For example: ("body camera" OR "bodycam") AND police -training.

Filters that match how you sell

Narrow the results by country, buyer, sector, status (open, awarded, cancelled), publication date and deadline. Keep only tenders that still accept bids, or look at the awards of the last 12 months to size a market.

Every result links to the source

Each tender page shows the official notice link where the portal gives one. Read the original documents and submit your bid on the official portal.

How it works

  1. 01

    Type what you sell

    Use plain words or a boolean query.

  2. 02

    Pick countries and filters

    Status, buyer, sector, dates.

  3. 03

    Open the tender

    Read the details and the official notice.

  4. 04

    Save the search

    Get new matches by email.

Who uses it

  • Sales and business development teams that sell to the public sector
  • Bid managers who check several countries every week
  • Consultants who look for public projects for their clients

Questions

Which countries can I search? +

Award and tender data is live for 73 countries, from official sources. The country list on the pricing page shows the live markets. We add countries when vendors ask for them.

Can I search in English for tenders in other languages? +

Yes. See the feature page about tenders in English: the search adds the words of the local languages of each country.

Is the search free? +

You can browse the public atlas without an account. Filters, saved searches, export and the API need a paid plan: the 3-day pass or the subscription.

Pricing

One price for the whole team.

Search and daily email alerts are free. A plan shows the winner and the value of each award, and adds CSV export, the API and MCP.

3-day pass

US$19€19one payment

For one research job. Full access for 72 hours, then it stops. Nothing renews.

Get the 3-day pass

Sign up, then pay by card.

  • Full access for 3 days
  • 10,000 export rows in total
  • Search, lists, API and MCP
  • Saved searches and daily email alerts
  • One pass per account

Subscription

US$49€45/mo

US$499€449/yr

Cancel at any time.

One payment a year. 15%17% less than 12 monthly payments.

Subscribe monthlySubscribe annually

Sign up, then pay by card.

  • Access until you cancel12 months of access
  • 5,000 rows per export
  • Search, lists, API and MCP
  • Saved searches and daily email alerts
  • One price for the whole team. No seat fees.

Enterprise

Custom

For teams that need bulk data or their own contract terms.

Book a call

A 30-minute call with our team.

  • Everything in Subscription
  • Bulk delivery to Snowflake, Amazon S3 or a CRM webhook
  • Custom contract terms
Secure payments via Stripe Stripe Visa Mastercard American Express
See full pricing →

Search every portal at once.

Create an account, then pick the 3-day pass or the subscription.

Ask your AI agent

Claude ChatGPT Perplexity Grok
Set up Sell to State for me: government tenders and contract awards from official sources in 73 countries, as MCP tools. Agent docs: https://docs.selltostate.com/llms.txt
1. Sign me in yourself. Try this first: you need me only for one approval click.
- If you can send HTTP requests: POST https://app.selltostate.com/api/v1/agent/signup with JSON {"client_name": "<your app name>"}. Show me verification_uri_complete from the reply as a link. I open it, sign up free with Google or email, and approve the code. Every "interval" seconds, POST token_endpoint with {"device_code": "<device_code>"} until the reply has access_token. Send access_token in the x-api-key header to the MCP server https://app.selltostate.com/api/mcp.
- If you cannot send HTTP requests: tell me to add the MCP server https://app.selltostate.com/api/mcp in this app. Its sign-in page also creates the free account. Claude: Customize > Connectors > Add custom connector. ChatGPT: chatgpt.com/plugins > + > Add custom MCP server, choose OAuth. Claude Code: claude mcp add --transport http selltostate https://app.selltostate.com/api/mcp, then /mcp > Authenticate.
2. The tools are free to connect. A free account gets plan_search 3 times a day and search for 2 different searches a day: titles, buyers, status and dates. Amounts, winners and notice links need a plan. Call whoami to see my plan.
3. Ask me what my company sells and in which countries. Call plan_search with my answer, then search with its scope, q and filters. Show me the 10 best open tenders with the title, the buyer and the dates. Then give me app_url: it shows every row, and I can save the search there for email alerts.

Enterprise

Sign Up