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.
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.
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
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
01
Type what you sell
Use plain words or a boolean query.
02
Pick countries and filters
Status, buyer, sector, dates.
03
Open the tender
Read the details and the official notice.
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.
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.