Singapore GeBIZ Tender Opportunities Scraper
Pricing
from $0.16 / 1,000 gebiz opportunity records
Singapore GeBIZ Tender Opportunities Scraper
Scrape Singapore GeBIZ tenders, quotations, and procurement opportunity details for monitoring, lead generation, and market research.
Pricing
from $0.16 / 1,000 gebiz opportunity records
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Monitor Singapore government procurement opportunities from the public GeBIZ website.
This Apify Actor searches public GeBIZ tender, quotation, tender-lite, request-for-information, and other opportunity listings, then exports clean dataset records for procurement monitoring, sales alerts, bid intelligence, and market research.
It can run a broad keyword search such as services, scrape Today's Opportunities, or process specific GeBIZ listing/detail URLs.
What does Singapore GeBIZ Tender Opportunities Scraper do?
The actor opens the official Singapore GeBIZ public opportunity pages and extracts structured tender records.
It captures the opportunity title, document number, reference number, buyer agency, opportunity type, status, publish date, closing date, closing time, and official detail URL.
When detail enrichment is enabled, it also opens each opportunity page and extracts procurement category, procurement method, GRA supply/work heads, public contact details, document names, and source text where visible without login.
Who is it for?
- 🧾 Vendors tracking Singapore public tenders by keyword or agency.
- 📈 Bid teams monitoring new GeBIZ opportunities every day.
- 🏛️ Procurement consultants building tender intelligence dashboards.
- 🔔 Sales operations teams feeding alerts into Slack, email, Airtable, or a CRM.
- 🧪 Researchers analyzing Singapore public-sector procurement activity.
- 🧰 Developers who need an API-ready GeBIZ tender feed.
Why use this actor?
GeBIZ is the official public portal for Singapore government procurement notices.
Manual monitoring is time-consuming because users must repeatedly search, paginate, and open details.
This actor turns those public pages into machine-readable records that can be scheduled, exported, and integrated.
Typical use cases
- Monitor new tenders matching
services,software,construction,security, or another buyer keyword. - Track opportunities from a specific ministry, statutory board, school, or agency name.
- Export upcoming closing dates for bid calendar planning.
- Collect public procurement category and contact details for qualification workflows.
- Build a daily GeBIZ tender alert feed.
- Compare Singapore procurement activity with other tender sources.
Input options
| Field | Type | Description |
|---|---|---|
keyword | string | Search term for GeBIZ public opportunity search. |
startUrls | array | Optional GeBIZ listing/detail URLs. Overrides keyword search. |
todayOnly | boolean | If no keyword/start URL is provided, scrape Today's Opportunities. |
maxItems | integer | Maximum number of opportunity records to save. |
includeDetails | boolean | Open detail pages for richer metadata and contacts. |
requestDelayMs | integer | Polite delay between page actions. |
Recommended inputs
For a quick test, use:
{"keyword": "services","maxItems": 20,"includeDetails": false}
For richer monitoring, use:
{"keyword": "consultancy","maxItems": 100,"includeDetails": true,"requestDelayMs": 1000}
Search modes
The actor supports three practical modes.
keywordmode searches GeBIZ with your keyword.todaymode clicks Today's Opportunities when no keyword/start URL is provided.directUrlsmode processes GeBIZ listing or detail URLs you provide.
Output data
Each dataset item represents one public GeBIZ opportunity.
| Field | Description |
|---|---|
title | Opportunity title shown on GeBIZ. |
documentNo | GeBIZ tender/document number. |
referenceNo | Additional buyer reference number when shown. |
opportunityType | Tender, Quotation, Tender Lite, RFI, etc. |
status | Current public status such as OPEN. |
agency | Buyer agency shown in the listing. |
publishedAt | Published date/time as displayed by GeBIZ. |
closingDate | Closing date. |
closingTime | Closing time. |
detailUrl | Official GeBIZ detail URL. |
procurementCategory | Detail-page procurement category when enabled. |
contactEmail | Public contact email when visible. |
documentNames | Public tender document names when visible. |
Example output
{"title": "Provision of Horticultural Services","documentNo": "SSC000ETT26000028","referenceNo": null,"opportunityType": "Tender","status": "OPEN","agency": "Singapore Sports Council (Sport Singapore)","publishedAt": "12 Jun 2026 02:35 PM","closingDate": "10 Jul 2026","closingTime": "04:00PM","detailUrl": "https://www.gebiz.gov.sg/ptn/opportunity/directlink.xhtml?docCode=SSC000ETT26000028","searchKeyword": "services","searchMode": "keyword","pageNumber": 1,"scrapedAt": "2026-06-25T00:00:00.000Z"}
Detail enrichment
Set includeDetails to true when you need richer procurement context.
The actor then opens each opportunity detail page and attempts to extract:
- Procurement type.
- Procurement method.
- Procurement nature.
- Procurement category.
- GRA supply/work heads.
- Offer validity duration.
- Electronic submission indicator.
- Awarding agency.
- Public contact name, email, and phone.
- Public tender document names.
- Detail page text for downstream review.
How much does it cost to scrape Singapore GeBIZ tenders?
Pricing uses a pay-per-event model.
There is a small start charge for each run and a per-item charge for each opportunity saved.
The actor is designed to be conservative: listing-only mode is faster and cheaper, while detail enrichment costs more because it opens extra pages.
Use maxItems to control spend.
How to run
- Open the actor on Apify.
- Enter a keyword such as
services. - Choose
maxItems. - Decide whether you need detail enrichment.
- Start the run.
- Export the dataset as JSON, CSV, Excel, XML, or through the API.
Scheduling and monitoring
GeBIZ monitoring is a repeat-use workflow.
Run the actor daily for keywords that matter to your business.
Apify schedules can run this actor automatically and send results into a webhook or integration.
Integration ideas
- Send matching tenders to Slack.
- Add closing dates to a bid calendar.
- Push new records into Airtable or Google Sheets.
- Enrich CRM accounts with public-sector buyer activity.
- Trigger email alerts for high-value keywords.
- Store historical tender records in a data warehouse.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/singapore-gebiz-tender-opportunities-scraper').call({keyword: 'services',maxItems: 50,includeDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/singapore-gebiz-tender-opportunities-scraper').call(run_input={'keyword': 'services','maxItems': 50,'includeDetails': False,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~singapore-gebiz-tender-opportunities-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"keyword":"services","maxItems":50,"includeDetails":false}'
MCP usage
Use Apify MCP to call this actor from Claude Desktop, Claude Code, or another MCP client.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/singapore-gebiz-tender-opportunities-scraper
Claude Code setup:
$claude mcp add apify-gebiz "https://mcp.apify.com/?tools=automation-lab/singapore-gebiz-tender-opportunities-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-gebiz": {"url": "https://mcp.apify.com/?tools=automation-lab/singapore-gebiz-tender-opportunities-scraper"}}}
Example prompts:
- "Find the latest Singapore GeBIZ opportunities for software services."
- "Scrape 100 GeBIZ tenders matching consultancy and summarize closing dates."
- "Monitor today's GeBIZ opportunities and list the buyer agencies."
Data freshness
The actor reads live public GeBIZ pages at run time.
Results reflect what GeBIZ displays during the run.
For monitoring, schedule repeated runs and deduplicate by documentNo.
Limitations
- GeBIZ can change its JSF layout, which may require extractor updates.
- Some tender documents require login to download; the actor extracts public names and metadata only.
- Today's Opportunities may contain fewer records than your
maxItems. - Narrow keywords may return zero records.
- Date values are preserved as displayed by GeBIZ rather than converted to UTC.
Troubleshooting
If you get zero results, try a broader keyword such as services.
If runs are slow, disable includeDetails or lower maxItems.
If GeBIZ responds slowly, increase requestDelayMs.
If you need a specific buyer, search the agency name as a keyword.
Legality and ethical use
This actor extracts publicly available procurement notices from the official Singapore GeBIZ website.
Use the data for legitimate procurement monitoring, market research, and bid preparation workflows.
Respect GeBIZ terms, Singapore laws, and any restrictions on reproducing tender documents.
Related scrapers
- TED Europa Tenders Scraper.
- UK Find a Tender Scraper.
- SAM.gov Government Contracts Scraper.
- Government contracts and procurement actors from Automation Lab.
FAQ
Can it download protected tender files?
No. Some documents are visible only after login. The actor focuses on public metadata and public document names.
Can it monitor one agency?
Yes. Use the agency name as the keyword or provide a GeBIZ listing URL that already reflects your search.
Can it extract closed or awarded opportunities?
The public search can expose closed counts, but the initial actor is optimized for open public listing records. Use broad keywords and detail URLs for best results.
Why are dates strings?
GeBIZ displays Singapore-local date/time text. The actor preserves the official display value for auditability.
What if GeBIZ changes?
Open an issue with a failing run URL and input. The extractor can be updated to match the current public page layout.