# Singapore GeBIZ Government Contracts Scraper (`scrapers_lat/singapore-gebiz-contracts-scraper`) Actor

Scrape Singapore government awarded contracts from GeBIZ via the official data.gov.sg open data portal. Get tender number, procuring agency, awarded supplier, awarded amount and award date. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/singapore-gebiz-contracts-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

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

<!-- actor-banner -->
[![Singapore GeBIZ Government Contracts Scraper](https://scrapers.lat/banners/singapore-gebiz-contracts-scraper.png)](https://console.apify.com/actors/lLLLXdoSec3xdZQpU/input)
<!-- /actor-banner -->

## Singapore GeBIZ Government Contracts Scraper

> Pull Singapore government awarded contracts from GeBIZ via the official data.gov.sg open data portal. Search by supplier, agency or keyword and get the awarded amount, date and status. No login, no API key.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Singapore-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<br>

### What you get

One record per awarded government contract, straight from the official GeBIZ procurement dataset published on data.gov.sg. Built for competitive intelligence, government sales and market research.

- **tenderNo**: the GeBIZ tender reference number
- **description**: the tender / contract description
- **agency**: the government agency that awarded the contract
- **supplier**: the company the contract was awarded to
- **awardedAmount**: the awarded value in SGD (numeric)
- **currency**: SGD
- **awardDate**: the date the contract was awarded
- **status**: the tender status (for example Awarded to Suppliers)
- **observedAt**: when this record was collected

### How it works

| Input | What it does |
|---|---|
| `searchQuery` | Filter by any keyword: supplier, agency or description (for example ACCENTURE, Ministry of Health, cloud). |
| `minAwardAmount` | Keep only contracts awarded for at least this amount in SGD. |
| `sortByNewest` | Return the most recent awards first. |
| `maxItems` | Cap the number of records collected. |

The data comes from the official Singapore open data portal. Anonymous access is rate limited, so large pulls are paced automatically.

### Use cases

| Use case | Who it is for |
|---|---|
| Find who wins government contracts | Vendors selling to the public sector |
| Track a competitor's public sector wins | Sales and strategy teams |
| Size an agency's spending by category | Analysts and researchers |
| Build a government procurement dataset | Data teams |
| Lead lists of active government suppliers | B2B sales |

### Frequently Asked Questions

**Where does the data come from?**
The official data.gov.sg "Government Procurement via GeBIZ" dataset, managed by the Ministry of Finance. It covers awarded contracts.

**Does it need a login or API key?**
No. It reads the public open data portal with no account and no key.

**Does it include live open tenders?**
No. This covers awarded contracts. It is the authoritative record of who won what and for how much.

**How fresh is it?**
The source dataset is refreshed by the government on a rolling basis (roughly monthly).

<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [Singapore GeBIZ Government Contracts Awarded to Accenture](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-contracts-accenture): Track Singapore government contracts awarded to Accenture on GeBIZ, with tender numbers, agencies, award amounts and dates.
- [Singapore GeBIZ Government Contracts Awarded to NCS](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-contracts-ncs): Monitor Singapore government tenders awarded to NCS on GeBIZ, including agency, contract value, award date and status.
- [Singapore GeBIZ Contracts from Ministry of Health](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-ministry-of-health-contracts): Find Singapore Ministry of Health tenders on GeBIZ, with suppliers, awarded amounts, tender numbers and award dates.
- [Singapore GeBIZ Contracts from Ministry of Education](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-ministry-of-education-contracts): Track Singapore Ministry of Education procurement on GeBIZ, with awarded suppliers, contract values and tender dates.
- [Singapore GeBIZ Cloud Services Government Contracts](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-cloud-services-contracts): Search Singapore government cloud services tenders on GeBIZ, with suppliers, agencies, awarded amounts and dates.
- [Singapore GeBIZ Construction Government Tenders](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-construction-tenders): Pull Singapore government construction tenders from GeBIZ, with contractors, agencies, contract values and award dates.
- [Singapore GeBIZ Cleaning Services Government Contracts](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-cleaning-services-contracts): Monitor Singapore government cleaning services contracts on GeBIZ, with awarded suppliers, agencies and contract values.
- [Singapore GeBIZ Software and IT Government Contracts](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-software-it-contracts): Find Singapore government software and IT tenders on GeBIZ, with vendors, agencies, awarded amounts and award dates.
- [Singapore GeBIZ Contracts Awarded to ST Engineering](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-st-engineering-contracts): Track Singapore government contracts awarded to ST Engineering on GeBIZ, with agencies, contract values and dates.
- [Singapore GeBIZ Security Services Government Contracts](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper/examples/singapore-gebiz-security-services-contracts): Search Singapore government security services tenders on GeBIZ, with suppliers, agencies, awarded amounts and dates.

<!-- /example-tasks -->

<!-- x402 -->
### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).
<!-- /x402 -->

<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [CanadaBuys Tenders Scraper](https://apify.com/scrapers_lat/canadabuys-tenders-scraper): Canadian government tender notices with buyer, category and closing date.
- [EU TED Tenders Scraper](https://apify.com/scrapers_lat/eu-ted-tenders-scraper): European public procurement notices from TED.
- [Colombia SECOP Scraper](https://apify.com/scrapers_lat/colombia-secop-scraper): Colombian public contracts with entity, supplier and value.
- [Paraguay DNCP Scraper](https://apify.com/scrapers_lat/paraguay-dncp-scraper): Paraguay public tenders and awards with supplier and amount.
- [SAM.gov Opportunities Scraper](https://apify.com/scrapers_lat/sam-gov-opportunities-scraper): US federal contract opportunities by agency and NAICS.

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for public platforms across the world: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with GeBIZ, the Ministry of Finance or the Government of Singapore. It only accesses data published openly on data.gov.sg. Use it in accordance with the portal's terms.
<!-- /scrapers-lat-cta -->

# Actor input Schema

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

Filter contracts by any keyword: supplier name, government agency, or tender description (for example "ACCENTURE", "Ministry of Health", "cloud"). Leave empty to pull the full award history newest first.
## `minAwardAmount` (type: `integer`):

Only keep contracts awarded for at least this amount in SGD. Optional. Useful to focus on large contracts.
## `sortByNewest` (type: `boolean`):

Return the most recently added contract awards first. Turn off to read in the source order.
## `maxItems` (type: `integer`):

Maximum number of contract records to collect. The portal rate-limits anonymous access, so very large pulls are paced automatically.

## Actor input object example

```json
{
  "sortByNewest": true,
  "maxItems": 1000
}
````

# 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 = {
    "searchQuery": "",
    "maxItems": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/singapore-gebiz-contracts-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 = {
    "searchQuery": "",
    "maxItems": 1000,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/singapore-gebiz-contracts-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 '{
  "searchQuery": "",
  "maxItems": 1000
}' |
apify call scrapers_lat/singapore-gebiz-contracts-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Singapore GeBIZ Government Contracts Scraper",
        "description": "Scrape Singapore government awarded contracts from GeBIZ via the official data.gov.sg open data portal. Get tender number, procuring agency, awarded supplier, awarded amount and award date. Export to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "aL8STFfxDQ1tbt1ta"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~singapore-gebiz-contracts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-singapore-gebiz-contracts-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/scrapers_lat~singapore-gebiz-contracts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-singapore-gebiz-contracts-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/scrapers_lat~singapore-gebiz-contracts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-singapore-gebiz-contracts-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",
                "properties": {
                    "searchQuery": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "Filter contracts by any keyword: supplier name, government agency, or tender description (for example \"ACCENTURE\", \"Ministry of Health\", \"cloud\"). Leave empty to pull the full award history newest first."
                    },
                    "minAwardAmount": {
                        "title": "Minimum awarded amount (SGD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only keep contracts awarded for at least this amount in SGD. Optional. Useful to focus on large contracts."
                    },
                    "sortByNewest": {
                        "title": "Newest first",
                        "type": "boolean",
                        "description": "Return the most recently added contract awards first. Turn off to read in the source order.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of contract records to collect. The portal rate-limits anonymous access, so very large pulls are paced automatically."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
