Singapore GeBIZ Government Contracts Scraper
Pricing
from $9.23 / 1,000 results
Singapore GeBIZ Government Contracts Scraper
Scrape Singapore government awarded contracts from GeBIZ via the official data.gov.sg open data portal. Get tender number, procuring agency, awarded supplier, awarded amount and award date. Export to JSON, CSV or Excel.
Pricing
from $9.23 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Singapore GeBIZ Government Contracts Scraper
Here is one real result, with every field the actor returns:
{"tenderNo": "YRS000ETT24000004","description": "[T04/2024] Training services for YRSG","agency": "Yellow Ribbon Singapore","supplier": "WONG FONG ACADEMY PTE. LTD.","awardedAmount": 680,"currency": "SGD","awardDate": "16/6/2025","awardDateISO": "2025-06-16","awardYear": 2025,"status": "Awarded by Items","source": "Singapore Government e-procurement (GeBIZ)","observedAt": "2026-08-10T14:16:50.944Z"}
The most complete Singapore GeBIZ government contracts scraper available. It returns every field the official government procurement feed exposes for each award, plus a sortable ISO award date and award year computed on top, and gives you filters to target exactly the contracts you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads the official Singapore government procurement (GeBIZ) award history published on the government open-data portal (data.gov.sg), applies the filters you pass as input, paginates through matching awards, and writes one normalized record per contract award to the run's dataset. Each record carries the tender number, description, awarding agency, awarded supplier, awarded amount and status. The messy source award date (day/month/year text) is normalized to a sortable ISO date and an award year, kept alongside the original string, so you can build time series without extra parsing. Amounts are in Singapore dollars (currency is always SGD).
The portal rate-limits anonymous access, so large pulls are paced automatically. Data covers the published Singapore GeBIZ contract award history.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 most recent contract awards.
{"maxContracts": 10,"sortByNewest": true}
Leave searchQuery empty to pull the full award history. Every input field is optional; with an empty input the actor returns the most recent awards (default maxContracts is 10).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxContracts | integer | no | 10 | Maximum number of contract records to collect. The portal rate-limits anonymous access, so very large pulls are paced automatically. |
searchQuery | string | no | (empty) | Filter contracts by any keyword: supplier name, government agency, or tender description, for example ACCENTURE, Ministry of Health, cloud. Leave empty to pull the full award history newest first. |
minAwardAmount | integer | no | (none) | Only keep contracts awarded for at least this amount in SGD. Useful to focus on large contracts. |
sortByNewest | boolean | no | true | Return the most recently added contract awards first. Turn off to read in the source order. |
Filters combine with logical AND. If you pass no filters, the actor returns the full award history newest first, up to maxContracts.
Output reference
One dataset item per contract award. Types: string, integer, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
tenderNo | string | GeBIZ tender number (unique per tender). |
description | string | Tender description. |
agency | string | Government agency that awarded the contract. |
supplier | string | Name of the supplier awarded the contract. |
awardedAmount | integer | Awarded amount in Singapore dollars, or null if not published. |
currency | string | Currency of awardedAmount. Always SGD. |
awardDate | string | Award date as published in the source (day/month/year text), for example 16/6/2025. |
awardDateISO | string | Award date normalized to YYYY-MM-DD for sorting, or null if it could not be parsed. |
awardYear | integer | Four-digit award year, or null if the date could not be parsed. |
status | string | Tender award status, for example Awarded by Items. |
source | string | Data source label. Always the Singapore Government e-procurement (GeBIZ) feed. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run: a single item with a populated error field is written instead of results. |
Example output record
Real record from a live run (input {"maxContracts": 10, "sortByNewest": true}):
{"tenderNo": "YRS000ETT24000004","description": "[T04/2024] Training services for YRSG","agency": "Yellow Ribbon Singapore","supplier": "WONG FONG ACADEMY PTE. LTD.","awardedAmount": 680,"currency": "SGD","awardDate": "16/6/2025","awardDateISO": "2025-06-16","awardYear": 2025,"status": "Awarded by Items","source": "Singapore Government e-procurement (GeBIZ)","observedAt": "2026-08-10T14:16:50.944Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~singapore-gebiz-contracts-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"cloud","minAwardAmount":100000,"maxContracts":50}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~singapore-gebiz-contracts-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"Ministry of Health","maxContracts":500}'
Apify CLI:
apify call scrapers_lat/singapore-gebiz-contracts-scraper \--input '{"searchQuery":"ACCENTURE"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxContracts. - Source rate limit. The data.gov.sg portal throttles anonymous access, so large pulls are paced automatically (about one page every 10 seconds).
FAQ and troubleshooting
A run returned 0 records. Why?
The keyword or amount filter matched nothing. Loosen searchQuery, lower minAwardAmount, or leave both empty to pull the full history. Zero-result runs are not charged.
How do I find all awards to one supplier?
Set searchQuery to the supplier name, for example ACCENTURE, and set maxContracts high.
How do I focus on large contracts?
Set minAwardAmount to a SGD threshold, for example 100000, to keep only awards at or above that amount.
Why is awardDateISO null?
The source award date could not be parsed into a valid calendar date. The original string is always kept in awardDate; missing derived values are returned as null.
Is this an official GeBIZ tool? No. This actor is independent and has no affiliation with GeBIZ or the Singapore government. It reads only data that is publicly available through the official government open-data portal (data.gov.sg).
Related scrapers
- Singapore ACRA Entities Scraper: registered companies and businesses.
- Singapore BCA Registered Contractors Scraper: registered construction contractors.
- Singapore SGX Listed Companies Scraper: companies listed on the Singapore Exchange.
- Singapore MAS Financial Institutions Scraper: MAS regulated financial institutions.
- Singapore COE Prices & Bidding Results Scraper: COE bidding results and premiums.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with GeBIZ or the Singapore government. Accesses only publicly available data from the official government open-data portal (data.gov.sg).
