# Singapore Open Data Scraper (`parseforge/singapore-data-gov-sg-scraper`) Actor

Export records from data.gov.sg open datasets. Pull HDB resale prices, transport, demographics, climate, business, finance, and thousands more Singapore government datasets. Filter by field values or full-text search. Returns raw rows with all fields preserved.

- **URL**: https://apify.com/parseforge/singapore-data-gov-sg-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, Other, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $14.00 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🇸🇬 Singapore Open Data Scraper

> 🚀 **Export Singapore government datasets in seconds.** Pull HDB resale prices, MRT ridership, weather logs, public housing records, transport, finance, and thousands more datasets from the official data.gov.sg catalog. No login, no manual CSV stitching.

> 🕒 **Last updated:** 2026-05-22 · **📊 4 fields** per record · **🏛️ Thousands of datasets** · **🇸🇬 Whole-of-government Singapore catalog**

The **Singapore Open Data Scraper** taps the official data.gov.sg catalog and returns every row of any chosen dataset, preserving every column from the source. The portal is the central publishing point for the Singapore Government, hosting datasets from the Housing & Development Board (HDB), Land Transport Authority (LTA), Ministry of Education, Singapore Department of Statistics, and dozens of other agencies.

Coverage spans **housing, transport, demographics, climate, finance, business, environment, and health**. This Actor returns clean structured rows ready to download as CSV, Excel, JSON, or XML, with optional full-text search and exact-field filters applied at the source so you skip the data wrangling.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Southeast Asia real-estate analysts, urban planners, fintechs, transport researchers, journalists, civic-tech builders | HDB resale benchmarking, MRT ridership analysis, climate trend research, demographic dashboards, smart-city pipelines |

---

### 📋 What the Singapore Open Data Scraper does

Three workflows in a single run:

- 🏘️ **Pull any dataset.** Provide a resource identifier and the Actor streams every row.
- 🔍 **Full-text search.** Narrow results by keyword across all columns.
- 🎯 **Exact-field filters.** Combine column-level filters like town, flat type, or year to slice the dataset before download.

Each row is returned with its original column structure preserved under a `data` object, plus the resource identifier, the record's source identifier, and a timestamp.

> 💡 **Why it matters:** Singapore publishes some of the highest-quality open data in Asia, but stitching the catalog into a usable dataset takes parser work, pagination handling, and refresh logic. This Actor delivers the rows directly so your analysts and dashboards stay fresh on every run.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded Singapore dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Rows to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>resourceId</code></td><td>string</td><td><code>"d_8b84c4ee58e3cfc0ece0d773c8ca6abc"</code></td><td>Dataset resource identifier from data.gov.sg.</td></tr>
<tr><td><code>searchQuery</code></td><td>string</td><td><code>""</code></td><td>Optional full-text search across all columns.</td></tr>
<tr><td><code>filters</code></td><td>object</td><td><code>{}</code></td><td>Exact-match column filters as a JSON object.</td></tr>
</tbody>
</table>

**Example: latest 50 HDB resale flat transactions.**

```json
{
    "maxItems": 50,
    "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc"
}
````

**Example: 4-room HDB resale flats in Bishan.**

```json
{
    "maxItems": 100,
    "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc",
    "filters": { "town": "BISHAN", "flat_type": "4 ROOM" }
}
```

> ⚠️ **Good to Know:** dataset schemas vary by publisher and update cadence. Resale flat data refreshes monthly, transport feeds can refresh hourly, and one-off statistical releases are static after publication. Always inspect the source dataset page for refresh notes before scheduling production pipelines.

***

### 📊 Output

Each row contains **4 top-level fields**, with the full original column set nested in `data`. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🆔 `recordId` | number | `1` |
| 🏷️ `resourceId` | string | `"d_8b84c4ee58e3cfc0ece0d773c8ca6abc"` |
| 📦 `data` | object | `{ "town": "BISHAN", "flat_type": "4 ROOM", "resale_price": "780000", ... }` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-22T00:00:00.000Z"` |

#### 📦 Sample record

<details>
<summary><strong>🏘️ HDB resale flat in Bishan</strong></summary>

```json
{
    "recordId": 1,
    "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc",
    "data": {
        "month": "2017-01",
        "town": "BISHAN",
        "flat_type": "4 ROOM",
        "block": "150",
        "street_name": "BISHAN ST 11",
        "storey_range": "10 TO 12",
        "floor_area_sqm": "103",
        "flat_model": "Model A",
        "lease_commence_date": "1987",
        "remaining_lease": "69 years 04 months",
        "resale_price": "780000"
    },
    "scrapedAt": "2026-05-22T00:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🇸🇬 | **Whole-of-government catalog.** Thousands of Singapore datasets across HDB, LTA, MOH, MOE, and more. |
| 🎯 | **Server-side filters.** Full-text search and exact-column filters reduce the dataset before download. |
| 🔄 | **Always fresh.** Every run streams the latest published rows. |
| ⚡ | **Fast.** Pages of 100 rows, sub-second per page on most catalogs. |
| 🔓 | **No login.** The Singapore Government open-data catalog is free and public. |
| 🧱 | **Schema-preserving.** The original column names and values are kept under `data` for downstream joins. |
| 📦 | **Export anywhere.** CSV, Excel, JSON, or XML straight from the Apify dataset. |

> 📊 Whether you are modelling HDB resale trends, building an MRT-ridership dashboard, or tracking SG climate, the same Actor backs every workflow.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ Singapore Open Data Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **Thousands of SG datasets** | **Live per run** | full-text, exact-field | ⚡ 2 min |
| Manual CSV downloads from data.gov.sg | Free | Whole catalog | Re-download manually | None | 🐢 Slow |
| Custom CKAN clients | Free + dev time | Catalog | Self-managed | Self-coded | 🐌 Days |
| Paid SEA data vendors | $$$ subscription | Curated subset | Vendor cadence | Vendor schema | ⏳ Weeks |

Pick this Actor when you want server-side filtering, automatic pagination, and zero pipeline maintenance.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the Singapore Open Data Scraper page on the Apify Store.
3. 🎯 **Set input.** Paste a resource identifier from data.gov.sg, optionally add filters, set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your rows.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 🏘️ Real Estate & PropTech

- HDB resale price benchmarks by town, flat type, and floor band
- Lease-decay valuation models for resale flats
- Pre-launch BTO demand sizing by district
- Rental yield analysis vs. resale price trends

</td>
<td width="50%" valign="top">

#### 🚇 Transport & Urban Planning

- MRT and bus ridership trends by station
- Road traffic and ERP analysis
- Land-use change tracking across planning areas
- Bike-share and active-mobility uptake

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 💼 Fintech & Business Intelligence

- ACRA-derived business demographics
- Sector employment and wage indicators
- Inflation and CPI tracking
- Cross-border trade and tourism dashboards

</td>
<td width="50%" valign="top">

#### 🌦️ Climate & Sustainability

- Daily rainfall and temperature trend analysis
- Air-quality (PSI) historical baselines
- Energy and water consumption benchmarks
- Solar panel uptake by neighbourhood

</td>
</tr>
</table>

***

### 🔌 Automating Singapore Open Data Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Hourly, daily, or monthly refreshes keep downstream warehouses in sync automatically.

***

### 🌟 Beyond business use cases

Singapore open data fuels more than commercial workflows. The same structured rows support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Singapore housing-market studies for academic papers
- Urban-mobility analyses for planning theses
- Climate and air-quality time series for science coursework
- Reproducible studies with cited, versioned dataset pulls

</td>
<td width="50%">

#### 🎨 Personal and creative

- Indie property-search apps and dashboards
- Personal MRT and bus travel-time visualisations
- Side projects exploring Singapore demographics
- Hobbyist HDB resale tracker tools

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Civic-tech tools for housing affordability transparency
- Investigative journalism on transport, housing, or climate policy
- Community dashboards for neighbourhood-level statistics
- NGO research on inequality and access

</td>
<td width="50%">

#### 🧪 Experimentation

- Train ML models on HDB pricing, transport demand, or weather
- Prototype agent pipelines that resolve Singapore datasets on demand
- Validate smart-city product hypotheses with real data
- Build geospatial demos for planning competitions

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge Actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20Singapore%20Open%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20Singapore%20Open%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20Singapore%20Open%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20Singapore%20Open%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Paste a resource identifier from any data.gov.sg dataset, optionally add a keyword or field filters, and the Actor streams every matching row back to your Apify dataset, preserving the original column schema under a `data` object.

#### 🔎 Where do I find a resource identifier?

Open the dataset page on data.gov.sg. The identifier is the long alphanumeric string that starts with `d_` shown in the dataset URL and on the "Data API" tab.

#### 📏 Does it cover every Singapore Government dataset?

The Actor works with any dataset published on data.gov.sg that exposes datastore rows, which is most tabular datasets across HDB, LTA, MOH, MOE, NEA, ACRA, and other agencies.

#### 🔁 How often is the data refreshed?

Each run pulls the latest rows published at run time. The publishing cadence depends on the source agency, ranging from real-time transport feeds to monthly HDB resale releases.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to refresh your dataset on any cron interval and keep a downstream warehouse, dashboard, or app in sync automatically.

#### 🎯 Can I filter the rows before download?

Yes. Use `searchQuery` for full-text search across all columns, or `filters` for exact-column matches like `{ "town": "BISHAN" }`.

#### ⚖️ Is this data legal to use?

The data.gov.sg catalog is published under the Singapore Open Data Licence, which is permissive for both commercial and non-commercial use. Always review the specific dataset terms for attribution requirements.

#### 💼 Can I use this data commercially?

Yes. The Singapore Open Data Licence permits commercial reuse with attribution. You are responsible for downstream compliance in your own product.

#### 💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 rows per run). A paid plan lifts the limit and unlocks scheduling, higher concurrency, and bigger datasets.

#### 🔁 What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, inspect the log in the Runs tab, adjust the input, and re-run. Partial datasets are preserved so you never lose progress.

#### 🆘 What if I need help?

Our support team is here to help. Reach us through the Apify platform or via the Tally form linked below.

***

### 🔌 Integrate with any app

Singapore Open Data Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe SG datasets into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh Singapore rows into your product backend, or alert your team in Slack.

***

### 🔗 Recommended Actors

- [**🏛️ OurAirports Scraper**](https://apify.com/parseforge/ourairports-scraper) - Global airport master data including Singapore Changi
- [**🇮🇳 India Postal PIN Code Scraper**](https://apify.com/parseforge/india-postal-pincode-scraper) - India Post nationwide directory
- [**🇦🇷 Argentina Open Data Scraper**](https://apify.com/parseforge/argentina-datos-gob-ar-scraper) - National open-data catalog for Argentina
- [**🇨🇴 Colombia Open Data Scraper**](https://apify.com/parseforge/colombia-datos-gov-co-scraper) - National open-data catalog for Colombia
- [**🇨🇱 Chile Open Data Scraper**](https://apify.com/parseforge/chile-datos-gob-cl-scraper) - National open-data catalog for Chile

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more reference-data scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Singapore Government, the Government Technology Agency of Singapore (GovTech), or data.gov.sg. All trademarks mentioned are the property of their respective owners. Only publicly available open data is collected.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `resourceId` (type: `string`):

Dataset resource identifier from data.gov.sg. Example: d\_8b84c4ee58e3cfc0ece0d773c8ca6abc (HDB resale flat prices).

## `searchQuery` (type: `string`):

Full-text search across all fields. Leave blank to return all rows.

## `filters` (type: `object`):

Exact-match filters as a JSON object. Example: {"town":"BISHAN","flat\_type":"4 ROOM"}.

## Actor input object example

```json
{
  "maxItems": 10,
  "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/singapore-data-gov-sg-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/singapore-data-gov-sg-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "resourceId": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc"
}' |
apify call parseforge/singapore-data-gov-sg-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/singapore-data-gov-sg-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Singapore Open Data Scraper",
        "description": "Export records from data.gov.sg open datasets. Pull HDB resale prices, transport, demographics, climate, business, finance, and thousands more Singapore government datasets. Filter by field values or full-text search. Returns raw rows with all fields preserved.",
        "version": "1.0",
        "x-build-id": "SMLJGiHIcxNrP1hjl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~singapore-data-gov-sg-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-singapore-data-gov-sg-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~singapore-data-gov-sg-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-singapore-data-gov-sg-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~singapore-data-gov-sg-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-singapore-data-gov-sg-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "resourceId"
                ],
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "resourceId": {
                        "title": "Resource ID",
                        "type": "string",
                        "description": "Dataset resource identifier from data.gov.sg. Example: d_8b84c4ee58e3cfc0ece0d773c8ca6abc (HDB resale flat prices)."
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Full-text search across all fields. Leave blank to return all rows."
                    },
                    "filters": {
                        "title": "Field Filters",
                        "type": "object",
                        "description": "Exact-match filters as a JSON object. Example: {\"town\":\"BISHAN\",\"flat_type\":\"4 ROOM\"}."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
