
selltostate.com
Search 3M government contracts in 64 countries
158 followers
Search 3M government contracts in 64 countries
158 followers
Structured government procurement data around the globe — tenders, suppliers and agencies. We help you research what governments around the world buy and find new opportunities to sell to them. No need to get a foreign company or e-signature before deciding there's money to be made. Browse for free; a flat fee unlocks the full dataset, saved searches, REST API and MCP.








Hey Product Hunt — I'm Vlad. I built Sell to State.
If you want to sell to a government that is not yours, the work is ugly. You make a local entity. You buy an e-signature. You learn a portal that last shipped a UI in 2009. A month later you still do not know if there is a contract worth the trip.
Sell to State is one search over government tenders, suppliers, and buyers. 63 markets. Not 63 logins.
What is in it today: 2.95 million tenders, 3.02 million award rows, 986 thousand suppliers, 99 thousand buying agencies. One query hits the tender, the firm that won it, and the agency that paid.
Coverage is uneven. Some countries are fat (Singapore is a good demo: search for "hospital" is 123 rows with values). Some countries are thin. We are filling those next. I will not pretend
every market is equally deep.
How you actually use it:
- Search tenders, suppliers, and buyers in one box.
- Open an award and see who paid, who won, and how much.
- Export CSV if you want the file.
- API or MCP if the data should land in a CRM, a sheet, or an agent. Same corpus, no extra portal.
It is a search product. It is not an AI procurement agent.
Price is flat: US$49/month or US$499/year. For this launch week the annual plan is US$349 with code **PRODUCTHUNT**.
Apply it at checkout — you should not need a DM.
If you sell into a government, open a country you actually bid in and tell me what is missing. Which country's dataset should we deepen next?
I know the team from the previous things they've built. they are OGs 🤘
@oleg_sobolev thanks mate <3
64 countries in one search is realy usefull for small vendors 👏 congrats vlad
@petrkovacik thank you Petr! that's my thinking too
@dmitry_zakharov_ai thanks Dima! great to hear that from you :)
month one keyword search across 64 countries pulls plenty leads. month two obvious terms are exhausted and raw keyword monitoring stalls. procurement vocabularies diverge across borders. EU portals lean on CPV codes, US and Asian agencies use completely different taxonomies. real fix is tracking renewal cycles on historical awards, like multi-year LTA and Ministry of Health contracts in your explorer. sales team gets positioned before formal tender notice is even published)
@konstantin_tikhaev that's true. for now, I don't invent a new taxonomy, just allow to search using OCDS/TED/local codes
PS love the tactic you suggested. I have not built anything for it yet, but it makes sense
@vlad_nadymov Pulling contract end dates from existing OCDS award fields is fastest "MVP" for this. Gives teams heads-up months before re-tender.
@konstantin_tikhaev thanks! I'll check how I can do it quickly
@vlad_nadymov check awards.contractPeriod.endDate in standard schema. filter contracts expiring in 60 to 90 days, instant pipeline
the "ancient website, portal from 2004" framing in your screenshots is honest, but it also raises the question I'd actually want answered before paying for this - when a source agency's portal is that old and clearly not built for scraping, how do you catch it silently breaking or going stale? A tender feed that looks alive but is actually 3 months out of date on some obscure agency site seems like the failure mode that would matter most and be hardest to notice from the buyer's side.
@galdayan well it's the best you can do – if the origin is stale, there is no place to get it at all
usually what we do is check the portal and upsert the changed rows
the problems start if it's unstructured data even at source
@vlad_nadymov that lines up with what I'd expect, honestly, check-and-upsert is the only real option when there's no upstream signal. what I'm actually curious about is whether you monitor the scrapers themselves for silence rather than just for errors. a portal that starts serving a slightly different HTML structure without throwing anything would just quietly stop updating rows, no exception anywhere, and the row would sit there looking current. is there a "this source hasn't changed in an unusually long time" alert on your side, or would that kind of drift currently only get caught by a customer noticing a stale listing first?
@galdayan our data infra fails loudly if that's what you're asking
@vlad_nadymov fair, that answers it - "fails loudly" is the part that matters, since the silent-drift case I was picturing only happens when nothing fails at all. good to know it's not a gap you've hit yet. congrats on the launch, this is exactly the kind of tedious-but-real problem that's worth building for.