Singapore BOA Registered Architects Scraper
Pricing
from $6.15 / 1,000 results
Singapore BOA Registered Architects Scraper
Scrape the official Singapore Board of Architects (BOA) register from the data.gov.sg open data portal. Get registered architect name, registration number, firm name, firm address and firm phone. Export to JSON, CSV or Excel.
Pricing
from $6.15 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Singapore Board of Architects Register Scraper
Here is one real result, with every field the actor returns:
{"name": "Aamer Taher","regNo": "1403","firmName": "Aamer Architects Pte Ltd","firmAddress": "2 Leng Kee Road #04-01A Thye Hong Centre Singapore 159086","firmPostalCode": "159086","firmPhone": "62582838","source": "Singapore Board of Architects (BOA) register via data.gov.sg","observedAt": "2026-08-10T14:17:34.808Z","error": null}
The most complete Singapore Board of Architects (BOA) register scraper available. It returns every field the official register exposes for each registered architect, plus a parsed firm postal code for geocoding and territory routing, and gives you three inputs to target exactly the architects 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 Board of Architects (BOA) Register of Architects published on the government open-data portal (data.gov.sg), applies the keyword filter you pass as input, and writes one normalized record per registered architect to the run's dataset. Each record carries the architect name, registration number, firm name, firm address and phone. A Singapore postal code is parsed out of the firm address so records are ready for geocoding, mapping and territory-based lead routing. Missing source values are returned as null.
The full register holds roughly 1,900 architects. Data covers Singapore registered architects only.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the first 10 architects in the register.
{"maxArchitects": 10,"sortByNewest": false}
Leave searchQuery empty to pull the full register. Every input field is optional; with an empty input the actor returns architects in the published alphabetical order (default maxArchitects is 10).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxArchitects | integer | no | 10 | Maximum number of architect records to collect. The full register holds roughly 1,900 architects. |
searchQuery | string | no | (empty) | Filter the register by architect name or firm name, for example Aamer, DP Architects, Urban Redevelopment Authority. Leave empty to pull the full register. |
sortByNewest | boolean | no | false | Return records from the end of the register first. Turn off to read in the published order (alphabetical by name). |
The keyword filter matches against both architect name and firm name. If you pass no filter, the actor returns the full register up to maxArchitects.
Output reference
One dataset item per registered architect. Types: string or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
name | string | Registered architect name. |
regNo | string | BOA registration number (unique per architect). |
firmName | string | Name of the firm the architect is associated with. |
firmAddress | string | Full firm address as published. |
firmPostalCode | string | Singapore postal code parsed from the firm address, or null if none is present. |
firmPhone | string | Firm contact phone number. |
source | string | Data source label. Always the BOA register via data.gov.sg. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"maxArchitects": 10, "sortByNewest": false}):
{"name": "Aamer Taher","regNo": "1403","firmName": "Aamer Architects Pte Ltd","firmAddress": "2 Leng Kee Road #04-01A Thye Hong Centre Singapore 159086","firmPostalCode": "159086","firmPhone": "62582838","source": "Singapore Board of Architects (BOA) register via data.gov.sg","observedAt": "2026-08-10T14:17:34.808Z","error": null}
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-boa-architects-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"DP Architects","maxArchitects":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~singapore-boa-architects-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"maxArchitects":2000}'
Apify CLI:
apify call scrapers_lat/singapore-boa-architects-scraper \--input '{"searchQuery":"Aamer"}'
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
maxArchitects.
FAQ and troubleshooting
A run returned 0 records. Why?
The keyword matched no architect or firm name. Loosen searchQuery or leave it empty to pull the full register. Zero-result runs are not charged.
How do I pull the whole register?
Leave searchQuery empty and set maxArchitects high (the register holds roughly 1,900 architects).
Why is firmPostalCode null?
No 6-digit Singapore postal code was present in the published firm address. Missing source values are returned as null, never invented.
In what order are records returned?
Alphabetical by name (the published order) by default. Set sortByNewest to true to read from the end of the register first.
Is this an official BOA tool? No. This actor is independent and has no affiliation with the Board of Architects. It reads only data that is publicly available through the official government open-data portal (data.gov.sg).
Related scrapers
- Singapore PEB Professional Engineers Scraper: registered professional engineers.
- Singapore BCA Registered Contractors Scraper: registered construction contractors by workhead and grade.
- Singapore CEA Estate Agents Scraper: licensed estate agents and salespersons.
- Singapore ACRA Entities Scraper: registered companies and businesses.
- Singapore MOH Health Professionals Scraper: registered doctors, dentists and other health professionals.
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 the Singapore Board of Architects (BOA). Accesses only publicly available data from the official government open-data portal (data.gov.sg).
