482 scrapers live47.7K runs1,562 usersRebuilt in the last 30 days: 482 of 482

Scrapers / Developer & File Tools

Singapore Hawker Centres & Closure Calendar logo

Singapore Hawker Centres & Closure Calendar

hipersoft/sg-hawker-scraper

All Singapore hawker centres (official NEA data) with location, stall counts, status, photo — joined with the official cleaning-closure calendar: is it closed today, when it next closes and reopens. No setup.

Total users

1

Monthly users

1

Total runs

96

Per centre returned

$0.003

Last rebuilt

Oct 28, 2026

Overview

Every Singapore hawker centre with its location, stall counts, status and photo — joined with the official cleaning-closure calendar so each record tells you whether it's closed today, when it next closes, and when it reopens. Clean JSON, CSV or Excel. Built from Singapore's official NEA open data, licensed for commercial reuse. No key, no login.

Great for food & tourism apps, maps, delivery/logistics, and "is it open today?" features.

Singapore Hawker Centres Scraper input — keyword and open/closed-today filters in the Apify Console

What you get

  • 🍜 ~130 hawker centres — name, address, postal code, coordinates, status, cooked-food & market stall counts, photo
  • 📅 Live closure calendar — isClosedToday, currentClosureEnd, nextClosureStart, nextClosureEnd, nextClosureReason, plus the full quarterly closures list
  • 🔎 Filters — keyword, only-open-today, only-closed-today
  • 🧾 Provenance — stable id, sourceUrl, collectedAt on every row
  • ⚖️ Official & reusable — Singapore Open Data Licence

Why it's more than a file dump

This Actor joins two official datasets (hawker-centre locations + quarterly cleaning dates) and computes actionable calendar fields against today's date — so you don't have to parse four cleaning quarters yourself.

Example input

{ "openOnly": true }

Output

Singapore Hawker Centres Scraper output example — centres with closure calendar as structured JSON

{
  "id": "sghc-12",
  "name": "Adam Road Food Centre",
  "address": "2, Adam Road",
  "postalCode": "289876",
  "latitude": 1.3241,
  "longitude": 103.8142,
  "status": "Existing",
  "cookedFoodStalls": 32,
  "marketStalls": 0,
  "isClosedToday": false,
  "currentClosureEnd": null,
  "nextClosureStart": "2026-09-07",
  "nextClosureEnd": "2026-09-07",
  "nextClosureReason": null,
  "closures": [
    { "type": "Q3", "start": "2026-09-07", "end": "2026-09-07", "remarks": null }
  ],
  "sourceUrl": "https://data.gov.sg/datasets/d_4a086da0a5553be1d89383cd90d07ecd/view",
  "collectedAt": "2026-07-30T06:55:00.000Z"
}

Output schema

Field Type Description
id string Stable unique identifier for the hawker centre.
name string Name of the hawker centre.
address string Street address.
postalCode string Singapore postal code.
latitude number Latitude of the centre.
longitude number Longitude of the centre.
status string Operational status (e.g. Existing, Under Construction).
cookedFoodStalls integer Number of cooked-food stalls.
marketStalls integer Number of market stalls.
photoUrl string (URL) Link to a photo of the centre.
sourceUrl string (URL) Link to the source open dataset.
isClosedToday boolean Whether the centre is closed today for cleaning.
currentClosureEnd string End date of the current closure, if any.
nextClosureStart string Start date of the next scheduled closure.
nextClosureEnd string End date of the next scheduled closure.
nextClosureReason string Reason for the next closure, when given.
closures array Full list of scheduled quarterly cleaning closures.
collectedAt string (ISO date) When this Actor collected the record.

Input fields

Field Description
nameQuery Keyword in name/address.
openOnly Only centres open today.
closedTodayOnly Only centres closed today.
maxItems Max centres (0 = all).

FAQ

Where does the data come from? Singapore's official NEA hawker-centre and cleaning-closure datasets on data.gov.sg, reused under the Singapore Open Data Licence.

How are the closure fields computed? The Actor joins the closure dataset by centre name and compares each quarterly cleaning period to today's date to derive isClosedToday and the next closure window.

How does billing work? A tiny per-run dataset charge plus pay per centre returned.

Can I integrate this with other tools? The Singapore Hawker Centres 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

Original clean-room implementation using Singapore's official NEA open data (data.gov.sg), reused under the Singapore Open Data Licence. Not affiliated with or endorsed by NEA or the Singapore Government.

Input

FieldTypeDescription
nameQuery
Name / address keyword
stringFilter centres by keyword in name or address. Empty = all.
openOnly
Only open today
booleanReturn only centres NOT closed for cleaning/works today.
Default: false
closedTodayOnly
Only closed today
booleanReturn only centres closed today.
Default: false
maxItems
Max centres
integerMaximum centres to return. 0 = all (~130).
Default: 0

API

curl -X POST "https://api.apify.com/v2/acts/hipersoft~sg-hawker-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Pricing

EventPricePaid plans from
Centre returned
One hawker centre returned with calendar.
$0.003$0.0015
Dataset fetch
One fetch+join of the official NEA datasets.
$0.008$0.008

You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.

Related scrapers

Bulk Image Downloader

Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.

8,102 runs · 103 users · $0.056 / url processed

Text to Speech

Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.

278 runs · 22 users · $0.01 / audio generated

Google Maps Email Extractor

Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.

159 runs · 8 users · $0.006 / business lead scraped

Website Screenshot

Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.

156 runs · 3 users · $0.004 / screenshot captured

Bulk URL Status Checker

Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.

154 runs · 13 users · $0.002 / url checked

Google Search Scraper

Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.

121 runs · 8 users · $0.001 / result scraped
Need a source that isn't here?

Send the site and the fields. We build it and you get it first.

Request a build