Singapore BCA Licensed Builders Scraper
hipersoft/singapore-licensed-builders-scraper
Export Singapore's BCA Licensed Builders register (~5,200 licences): company name, UEN, licence class (General Builder Class 1/2, Specialist Builder trades), class code, expiry date, address and phone. Filter by name, UEN, class or category. Public open data, no setup.
Total users
2Monthly users
1Total runs
99Per licence scraped
$0.004Last rebuilt
Oct 26, 2026Overview
Export Singapore's BCA Licensed Builders register — around 5,200 licences — into clean JSON, CSV or Excel. Each record has company name, UEN, licence class, class code, expiry date, address and phone. Powered by BCA's open data (data.gov.sg).
Perfect for construction-industry lead generation, supplier due diligence, tender pre-qualification checks and market mapping.
This is the BCA Licensed Builders register (General Builder Class 1/2 and Specialist Builder licences) — the statutory licence to carry out building works — sourced from official open data.

What you get, per licence
- 🏗️ Company — name and UEN
- 🪪 Licence — class (e.g.
General Builder Class 1,Specialist Builder (Pre-cast Concrete Work)), class code (GB1,SB(PC)…), category (General / Specialist), specialist trade - 🗓️ Expiry date — licence validity
- 📍 Address — structured (block, street, unit, building, postal) + formatted
- ☎️ Telephone
Filters
query— company name or UEN containscategory—General BuilderorSpecialist BuilderclassCode— exact class code, e.g.GB1,GB2,SB(PC)maxItems— cap the export (~5,200 total)
Example input
{ "category": "Specialist Builder", "classCode": "SB(PC)", "maxItems": 500 }
Output

{
"companyName": "WOH HUP (PRIVATE) LIMITED",
"uen": "194000021M",
"licenceClass": "General Builder Class 1",
"classCode": "GB1",
"category": "General Builder",
"specialistTrade": null,
"expiryDate": "2027-06-16",
"formattedAddress": "217 UPPER BUKIT TIMAH ROAD, WOH HUP BUILDING, Singapore 588185",
"telephone": "63858585",
"sourceUrl": "https://data.gov.sg/collections/14/view",
"collectedAt": "2026-07-30T12:00:00.000Z"
}
Output schema
| Field | Type | Description |
|---|---|---|
id |
string | Stable unique identifier for the licence record. |
companyName |
string | Registered company name. |
uen |
string | Unique Entity Number (UEN) of the company. |
licenceClass |
string | Full licence class name (e.g. General Builder Class 1). |
classCode |
string | Short licence class code (e.g. GB1, SB(PC)). |
category |
string | Licence category (General Builder or Specialist Builder). |
specialistTrade |
string | Specialist trade, for specialist builder licences. |
additionalInfo |
string | Any additional licence information. |
expiryDate |
string | Licence expiry date. |
address |
object | Structured address (block, street, unit, building, postal code). |
formattedAddress |
string | Full address as a single string. |
telephone |
string | Contact phone number. |
sourceUrl |
string (URL) | Link to the source open dataset. |
collectedAt |
string (ISO date) | When this Actor collected the record. |
FAQ
Do I need an account or API key? No. Just set your filters and run — no account, login or API key required.
What format is the output? Structured JSON — one record per licence — exportable as JSON, CSV, Excel or via the Apify API.
Can I integrate this with other tools? The Singapore BCA Licensed Builders Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Notes
Data is © BCA, published under the Singapore Open Data Licence (commercial reuse permitted). Use responsibly and in line with the licence terms.
Input
| Field | Type | Description |
|---|---|---|
querySearch (company or UEN) | string | Match licences whose company name or UEN contains this text. Leave empty for all. |
categoryCategory | string · , General Builder, Specialist Builder | Filter by category: General Builder or Specialist Builder. Leave empty for all. |
classCodeClass code | string | Exact licence class code, e.g. GB1, GB2, SB(PC). Leave empty for all. |
maxItemsMax licences | integer | Maximum licence records to return. There are ~5,200 in total. Default: 10000 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~singapore-licensed-builders-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "",
"classCode": "",
"maxItems": 100
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/singapore-licensed-builders-scraper").call(run_input={
"query": "",
"classCode": "",
"maxItems": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/singapore-licensed-builders-scraper').call({
"query": "",
"classCode": "",
"maxItems": 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Licence scraped One licensed-builder record scraped. | $0.004 | $0.002 |
| API request One Licensed Builders API request (a page of records). | $0.001 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
North Data Scraper
Look up European companies on North Data: legal name, former names, register number, address, founding date, LEI, business purpose, managing directors and officers, and recent register publications. Germany, UK, France, Austria and 20+ countries. Bulk lookups.
2,467 runs · 5 users · $0.004 / companyWebsite Content Crawler
Extract clean, readable content from any list of websites: page title, meta description, headings, main body text, word count and link/image counts. Optional same-domain crawl. Bulk-ready. Great for LLM/RAG ingestion, content audits and research.
206 runs · 20 users · $0.0024 / page scrapedSpyFu Domain Scraper
Bulk SEO and PPC reports for any domain from SpyFu: organic keywords, monthly SEO clicks and value, Google Ads budget, paid keywords, top keywords, competitors, top countries and monthly history. Competitor research for agencies. Export CSV/JSON.
185 runs · 7 users · $0.008 / domain reportTrustpilot Reviews Scraper
Scrape Trustpilot reviews and company ratings by company domain or Trustpilot URL: star rating, title, text, reviewer name & country, verification, date, company reply, plus company TrustScore and total reviews.
146 runs · 4 users · $0.0006 / review scrapedACRA Singapore Company Registry Scraper
Search and export Singapore's full ACRA corporate registry: UEN, entity name, status, incorporation date, address, SSIC industry codes, officers, former names and audit firms. Filter by name, status, entity type or industry. Public open data, no setup.
138 runs · 10 users · $0.01 / company scrapedWayback Machine Scraper
List every Internet Archive (Wayback Machine) snapshot of a URL or whole domain: timestamp, snapshot URL, status code, MIME type and content digest. Filter by date, status and dedupe. For SEO, OSINT and historical research. No setup.
135 runs · 15 users · $0.002 / snapshot scrapedSend the site and the fields. We build it and you get it first.