# Singapore Procurement Awards Data Scraper (`singaporedata/singapore-procurement-awards`) Actor

Search Singapore's official historical GeBIZ tender-award open dataset by tender, agency, supplier, or description.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 Procurement Awards

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

Search and export official historical Singapore tender-award records for supplier intelligence, public-spending research, account discovery, market mapping, and procurement analysis.

### What it does

- Searches the historical open dataset by tender number, agency, supplier, or description keyword.
- Returns award date, published status, supplier, and awarded amount in SGD.
- Applies `maxItems` exactly and keeps control messages out of the award dataset.

| Field | Purpose | Default |
| --- | --- | --- |
| `tenderNo` | Exact historical tender number | `ACR000ETT21000001` |
| `agency` | Optional exact agency name | Empty |
| `supplierName` | Optional exact supplier name | Empty |
| `keyword` | Optional tender-description text | Empty |
| `maxItems` | Exact maximum number of award rows | `10` |
| `pageSize` | Official rows requested per call | `5` |
| `startOffset` | Matching rows to skip | `0` |

```json
{"tenderNo":"ACR000ETT21000001","maxItems":10}
```

```json
{"tenderNo":"ACR000ETT21000001","tenderDescription":"Provision of professional services","agency":"ACCOUNTING AND CORPORATE REGULATORY AUTHORITY","awardDate":"2021-10-15","supplierName":"EXAMPLE SERVICES PTE. LTD.","awardedAmount":125000,"currency":"SGD"}
```

### Coverage and responsible use

This Actor reads only the historical GeBIZ award dataset published on data.gov.sg under the Singapore Open Data Licence. It does not scrape live GeBIZ pages, attachments, or restricted content. Coverage is limited to the dates and fields in that open dataset and must not be described as a current opportunities feed.

Singapore Data is independent and is not affiliated with or endorsed by GeBIZ, the Ministry of Finance, or the Singapore Government. Award data is informational and may include corrections. Verify important procurement or commercial decisions against the official source. Direct HTTP is used without a browser or proxy.

### SEO summary

Singapore government procurement award scraper for historical tenders, agencies, suppliers, award dates, and awarded amounts.

# Actor input Schema

## `tenderNo` (type: `string`):

Exact tender number from the historical open dataset.

## `agency` (type: `string`):

Optional exact purchasing agency name.

## `supplierName` (type: `string`):

Optional exact awarded supplier name.

## `keyword` (type: `string`):

Optional text to search within tender descriptions.

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

Stop after this many unique award rows. The limit is applied exactly.

## `pageSize` (type: `integer`):

Number of official source rows requested at a time.

## `startOffset` (type: `integer`):

Skip this many matching source rows before collecting results.

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

When enabled, a valid empty search ends the run as failed.

## `dataGovApiKey` (type: `string`):

Optional production API key for higher official API rate limits.

## Actor input object example

```json
{
  "tenderNo": "ACR000ETT21000001",
  "maxItems": 10,
  "pageSize": 5,
  "startOffset": 0,
  "failOnNoResults": false
}
```

# Actor output Schema

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

Normalized historical tender-award records from the official open dataset.

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

Counts, source coverage, completion status, 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-procurement-awards").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-procurement-awards").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 '{}' |
apify call singaporedata/singapore-procurement-awards --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=singaporedata/singapore-procurement-awards",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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