# Singapore Consumer Price Index Data Scraper (`singaporedata/singapore-consumer-price-index`) Actor

Export official monthly Singapore CPI series using the current 2024 base year for inflation analysis, budgeting, forecasting, and economic dashboards.

- **URL**: https://apify.com/singaporedata/singapore-consumer-price-index.md
- **Developed by:** [Singapore Data](https://apify.com/singaporedata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 cpi observations

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Singapore Consumer Price Index

> **Unofficial:** This Actor is independently published by Singapore Data. It is not affiliated with or endorsed by the Singapore Government or any source agency.

Export official monthly Singapore Consumer Price Index series from SingStat using the current 2024 base-year table. The Actor produces clean long-form observations for inflation analysis, budgeting, economic dashboards, forecasting inputs, and policy research.

### Input

| Field | Purpose | Default |
| --- | --- | --- |
| `seriesNos` | Official SingStat CPI series identifiers | `1`, `2`, `3` |
| `monthsBack` | Latest months per series | `24` |
| `maxItems` | Exact maximum observations | `72` |
| `failOnNoResults` | Fail when no selected series exists | `false` |

The verified defaults are All Items, All Items Less Accommodation, and All Items Less Imputed Rentals For Housing.

```json
{
  "seriesNos": ["1", "2", "3"],
  "monthsBack": 24,
  "maxItems": 72,
  "failOnNoResults": false
}
```

### Output

Each row contains one official series and month, its hierarchy, CPI index value, original source text, base year, unit, source update date, and traceability fields. An unavailable source notation stays `null`; it is not changed to zero.

### Source and limitations

The Actor reads “Consumer Price Index (CPI), 2024 As Base Year, Monthly,” resource `M213751`, directly from the official SingStat developer API. Singapore Data is an independent publisher and is not affiliated with or endorsed by SingStat or the Singapore Government.

CPI is a statistical index, not the price of an individual product and not a personal cost-of-living guarantee. Base-year rebasing, revisions, weights, and official definitions matter when comparing series. Verify material financial or policy decisions against the official table notes.

The Actor makes one bounded metadata request and one request per selected series. It uses direct HTTP, finite retries, no browser, no proxy, and no paid external API.

### Empty results and errors

Unknown series selections produce `no_results` when none match. Access rejection, exhausted retries, and malformed official rows fail honestly. No historical table or fabricated value is substituted silently.

### SEO summary

Singapore CPI data scraper for official monthly inflation indexes, cost trends, budgeting, economic dashboards, forecasting, and market research.

# Actor input Schema

## `seriesNos` (type: `array`):

SingStat series numbers. Defaults to All Items and two official housing-adjusted indicators.

## `monthsBack` (type: `integer`):

Return this many latest months for each selected CPI series.

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

Exact maximum number of unique series-month observations.

## `failOnNoResults` (type: `boolean`):

Fail when none of the selected series returns observations.

## Actor input object example

```json
{
  "seriesNos": [
    "1",
    "2",
    "3"
  ],
  "monthsBack": 24,
  "maxItems": 72,
  "failOnNoResults": false
}
```

# Actor output Schema

## `results` (type: `string`):

Normalized official SingStat CPI series-month records.

## `summary` (type: `string`):

Series counts, duplicate counts, and termination reason.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("singaporedata/singapore-consumer-price-index").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("singaporedata/singapore-consumer-price-index").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call singaporedata/singapore-consumer-price-index --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,singaporedata/singapore-consumer-price-index"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jBZVIBU1webV3t6j6/builds/cvrLdbU07Z0tSPzH3/openapi.json
