biddingo.com APIbiddingo.com ↗
Access government procurement bids and RFPs from Biddingo. Search by keyword, region, category, and status. Retrieve full bid details including HTML descriptions.
curl -X GET 'https://api.parse.bot/scraper/809ca7d5-a675-42ba-b064-66b1287e9bd5/search_bids?limit=5&keyword=construction&statuses=1&page_number=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for active bid/RFP solicitations with various filters. Returns paginated results sorted by the specified field.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order (e.g., 'postedDate:desc', 'closingDate:asc'). |
| limit | integer | Number of results per page. |
| keyword | string | Search keyword or solicitation number. |
| statuses | string | Bid status ID (1 for Open for Bidding). |
| region_ids | string | Comma-separated list of region IDs to filter by (IDs from get_regions endpoint). |
| page_number | integer | Page number to retrieve. |
| category_ids | string | Comma-separated list of category IDs to filter by (IDs from get_categories endpoint). |
{
"type": "object",
"fields": {
"bidCount": "integer total number of matching bids",
"bidInfoList": "array of bid summary objects with fields like tenderName, tenderNumber, buyerName, bidStatus, publishedDate, buyerOrgId, biddingoTenderId, buyerSysId"
},
"sample": {
"data": {
"bidCount": 4361,
"bidInfoList": [
{
"bidType": "GS",
"daysleft": 26,
"regionId": 1,
"bidStatus": "Open for Bidding",
"buyerName": "University Health Network",
"buyerOrgId": 41032006,
"buyerSysId": 1,
"regionName": "Eastern Canada",
"tenderName": "Linear Treadmill System",
"tenderNumber": "2526-397B",
"procurementId": 574092,
"publishedDate": "05/07/2026",
"biddingoTenderId": 41394428,
"tenderClosingDate": "2026-06-02 12:00:00.0"
}
],
"regionCountMap": {}
},
"status": "success"
}
}About the biddingo.com API
The Biddingo API exposes 4 endpoints for querying government procurement solicitations indexed on biddingo.com. Use search_bids to filter active tenders by keyword, region, category, and status, returning paginated summaries with fields like tenderName, tenderNumber, buyerName, and publishedDate. Companion endpoints deliver full bid detail, a flat list of geographic regions, and a two-level category taxonomy for building precise filters.
Searching and Filtering Bids
The search_bids endpoint is the primary entry point. It accepts a keyword parameter for free-text or solicitation-number search, statuses to narrow by bid state (status ID 1 returns bids open for bidding), region_ids for geographic filtering, and category_ids for procurement category filtering. Results are paginated via page_number and limit, and sortable with the sort parameter (e.g. postedDate:desc or closingDate:asc). The response includes bidCount — the total matching record count — and a bidInfoList array of bid summaries.
Bid Detail
get_bid_detail returns the full record for a single solicitation. It requires biddingo_tender_id and buyer_org_id, both available from search_bids results. The response object bidInfo includes a detailPreview field containing an HTML-formatted description of the project, a categoryList of associated procurement categories, and the full set of buyer and tender metadata. buyer_sys_id is an optional parameter that defaults to 1 in almost all cases.
Reference Data: Regions and Categories
get_regions returns a masterRegionInfoList array where each entry carries regionId, region name, country, and an isActiveYN flag. These IDs feed directly into the region_ids parameter of search_bids. get_categories returns a two-level taxonomy: parentCategoryList holds top-level categories with categoryId, categoryName, and categoryCode, while masterChildCategoryListMap maps each parent categoryCode to its array of child categories. Pass one or more child or parent categoryId values as comma-separated strings to category_ids in search_bids.
- Monitor newly posted government tenders by polling
search_bidssorted bypostedDate:desc - Build a bid-alert system filtered by specific
region_idsandcategory_idsrelevant to a contractor's trade - Extract structured buyer contact and organization data from
bidInfofor CRM enrichment - Aggregate closing-date timelines across open solicitations using
closingDatesort for deadline dashboards - Classify bid volume by procurement category using the two-level taxonomy from
get_categories - Search by solicitation number via the
keywordparameter to look up a specific tender's full detail - Map regional procurement activity by joining
get_regionsdata with bid counts perregion_ids
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Biddingo offer an official developer API?+
What does `get_bid_detail` return that `search_bids` does not?+
search_bids returns summary fields — tenderName, tenderNumber, buyerName, bidStatus, and publishedDate. get_bid_detail adds the detailPreview HTML field with the full project description, a structured categoryList for the specific bid, and complete buyer organization metadata. You need biddingo_tender_id and buyer_org_id from a search_bids result to call it.Can I filter bids by closing date range?+
search_bids endpoint supports sorting by closingDate (e.g. closingDate:asc) but does not expose a date-range filter parameter for closingDate or publishedDate. The API covers keyword, status, region, and category filtering. You can fork it on Parse and revise to add a date-range parameter if that filtering is required.Are awarded or closed bids accessible, or only open ones?+
statuses parameter accepts a status ID — 1 returns bids open for bidding. The API does not currently expose endpoints for querying historically awarded contracts or a full archive of closed solicitations. You can fork it on Parse and revise to add an endpoint targeting closed or awarded bid records.How does pagination work in `search_bids`?+
page_number (integer, 1-based) and limit (results per page) to paginate. The response includes bidCount as the total number of matching bids, which lets you calculate total pages by dividing bidCount by your chosen limit. If a page returns fewer results than limit, you have reached the last page.