Notices, lots, documents and award results from Portal de Compras Publicas, Etimad, DIBBS, Dubai eSupply and five more portals, returned as JSON. Built for bid and capture managers who are done opening six portals by hand every morning.
Portuguese on one, Arabic on the next, an NSN search on a third. Someone on your team does this by hand every morning, and nobody does it the week they are on leave.
A perfect-fit lot, found four days before the deadline. No time for the site visit, the clarification questions or the supplier quotes. You log it as no-bid and move on.
The aggregator you pay covers federal notices and stops there. The municipal award, the homologated item prices and the chat log from the session were public. Nobody on your side saved them.
This is the full inventory today: 17 endpoints across 9 portals. Each one is a hosted function with a stable ID that returns JSON.
Pick an endpoint. List tenders on Portal de Compras Publicas, award results on Etimad, open RFQs on DIBBS. Each is a function ID.
Call it with your variables. We open the portal in a real browser on our side, run the search and read the public page. You get structured JSON instead of a search form.
Schedule your own polling. This is a request API: data is read from the portal at call time. It is not a push stream. Run it from cron each morning, diff against yesterday, alert on new matches.
Keep the awards. Pull homologated items and award results after closing and store winner and price next to the notice, ready for the next round.
Type what you sell. Set how many days your team needs to prepare a compliant bid. The watchlist shows which sample tenders match, how long is left, and which ones are already lost to late discovery.
"I used to open the municipal portal, search five terms, and paste rows into a spreadsheet before my first coffee. Now a script does the round and I get one list of new notices with the deadline next to each. I spend the morning reading the edital instead of hunting for it."
"The award results were what sold me. We pull who won and at what price after every tender we watched, even the ones we skipped. Pricing the next round is no longer a guess."
"We run a tender-alert product. Building and babysitting a scraper per portal was eating the roadmap. We call the endpoints on our own schedule and put our effort into matching."
Each call reads the portal at request time, so you get what the portal shows at that moment. It is a request API, not a push stream and not a pre-built database. You schedule the polling, for example every morning or every few hours, and compare against your last result to spot new notices.
No. It is read-only public tender data. It does not submit bids, upload proposals, send clarification questions or act inside a supplier account. Your team still decides and bids through the portal.
The 17 endpoints listed in the coverage section, across 9 portals in 6 jurisdictions. Depth varies: Portal de Compras Publicas has six endpoints from notice to awarded items and chat logs, while DIBBS has one open RFQ search. We do not list anything we do not have.
Fields come back as the portal publishes them, so a Brazilian municipal notice is in Portuguese. Keys in the JSON are in English. Match with keywords in the portal's language, or translate on your side.
Portal de Compras Publicas has a tender documents endpoint that returns the documents the portal publishes for a tender. For other portals, the details endpoints return what the public notice page shows.
Ask. Endpoints are hosted functions built against a specific portal, so a new one is scoped case by case. We will tell you plainly if a portal is not feasible.
The function is repaired on our side and keeps its ID, so your integration should not need to change. Build your poller to tolerate an occasional failed run and retry.
Bidfeed is built on Notte, a platform for running browser automations as hosted functions. Bidfeed is not affiliated with any government body or with the portals named on this page.
Put the morning portal round on a schedule and spend the time on the bid.