# Singapore ACRA Company Registry Scraper (`scrapers_lat/singapore-acra-entities-scraper`) Actor

Look up Singapore companies and businesses from the official ACRA corporate register on data.gov.sg. Get UEN, entity status, incorporation date, registered address, SSIC industry codes, officer count, former names and audit firms. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/singapore-acra-entities-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

## Singapore ACRA Company Registry Scraper

> Look up any Singapore company or business from the official ACRA corporate register. Get UEN, status, incorporation date, registered address, industry (SSIC) codes, officer count, former names and audit firms, ready for KYB, due diligence and lead generation.

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

<table><tr>
<td align="center"><strong>Full register</strong><br>every registered entity</td>
<td align="center"><strong>KYB fields</strong><br>UEN, SSIC, officers, audit firm</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What you get

Each record is one registered entity, ready to load into a CRM, a due-diligence workflow or a spreadsheet:

- **uen**: the Unique Entity Number (Singapore's company/business identifier)
- **entityName** and **entityStatus** (for example Live Company, Struck Off, Cancelled)
- **entityType**, **businessConstitution**, **companyType**
- **registrationIncorporationDate** and **uenIssueDate**
- **address**: the registered address (block, street, unit, building, postal code) and **postalCode**
- **primarySsicCode** / **primarySsicDescription** and **secondarySsicCode** / **secondarySsicDescription**: the industry classification
- **primaryActivity** / **secondaryActivity**: the described business activity, when provided
- **noOfOfficers**: how many officers the entity has on file
- **accountDueDate** and **annualReturnDate**: filing dates
- **formerNames**: previous registered names of the entity
- **auditFirms**: the entity's audit firms (name and UEN), when applicable

### Who is it for

| Use case | Who benefits |
|---|---|
| KYB and onboarding | Fintech, banks and compliance teams verifying Singapore businesses |
| Due diligence | Analysts checking status, industry and history before a deal |
| Lead generation | Sales teams building targeted lists by industry (SSIC) or entity type |
| Market research | Consultants sizing an industry by counting active companies |
| Data enrichment | Teams filling CRM gaps with UEN, address and incorporation data |

### How to use it

1. Enter a **company name or UEN** (for example `DBS`), or leave it empty to browse.
2. Leave **Entity name initial** on Auto for a name lookup, or pick a letter to browse it. Turn on **Scan the whole register** to search across every initial.
3. Optionally filter by **entity status**, **entity type** or **primary SSIC code**.
4. Set **Max Items** and run. Export the results as JSON, CSV or Excel, or pull them through the Apify API.

### Frequently Asked Questions

**Which companies are covered?**
Every entity in Singapore's official corporate register, across all entity types (local companies, sole proprietorships, partnerships, LLPs and more), refreshed monthly from the source.

**Can I pull every company in one industry?**
Yes. Set the primary SSIC code filter and turn on Scan the whole register to collect all entities classified under that industry code.

**Does it include directors and shareholders by name?**
No. The public register exposes the officer count but not the individual names of directors or shareholders, so those are not in the output. Everything listed under What you get is included when the register publishes it.

**Why do some fields come back empty?**
Fields like former names, audit firms, secondary SSIC or filing dates are only filled when they apply to that entity, so they are empty for many records. UEN, name, status, type and address are almost always present.

**How fast is a run?**
A single-initial lookup is fast. Scanning the whole register is slower because the open-data source rate-limits anonymous requests, so the actor paces itself across the 26 files.

<!-- example-tasks -->
<!-- /example-tasks -->

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

Part of our Singapore data collection:

- [Singapore SGX Listed Companies Scraper](https://apify.com/scrapers_lat/singapore-sgx-listed-companies-scraper)
- [Singapore HDB Resale Flat Prices Scraper](https://apify.com/scrapers_lat/singapore-hdb-resale-prices-scraper)
- [Singapore MAS Financial Institutions Scraper](https://apify.com/scrapers_lat/singapore-mas-financial-institutions-scraper)
- [Singapore GeBIZ Government Contracts Scraper](https://apify.com/scrapers_lat/singapore-gebiz-contracts-scraper)

<!-- /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: company registries, real estate, jobs, e-commerce and government data. Browse the full catalog or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with ACRA or the Singapore Government. It only accesses data published as open data on the official portal. Use the results in accordance with the source's open data terms.

# Actor input Schema

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

A company/business name keyword or a UEN to look up (for example 'DBS' or '198600294G'). Leave empty to list entities from the selected initial. Full-text match across each record.
## `nameInitial` (type: `string`):

The ACRA register is split into one file per entity-name initial. Auto uses the first letter of your search term (best for name lookups). Pick a specific letter to browse it, or 'Others' for names starting with a number or symbol. Use 'Scan all initials' below to search the whole register.
## `scanAllInitials` (type: `boolean`):

When enabled, the actor searches every initial file A-Z (plus Others) applying your search and filters. Thorough but slower, because the open-data portal rate-limits anonymous requests. Leave off for a fast single-file lookup.
## `entityStatus` (type: `string`):

Optional exact match on the registration status, for example 'Live Company', 'Registered' or 'Struck Off'. Leave empty to keep every status.
## `entityType` (type: `string`):

Optional exact match on the entity type, for example 'Local Company' or 'Sole Proprietorship/ Partnership'.
## `ssicCode` (type: `string`):

Optional exact match on the primary SSIC industry code (for example '64202'). Useful to pull every company in one industry.
## `maxItems` (type: `integer`):

Maximum number of entities to collect. Optional.

## Actor input object example

```json
{
  "searchQuery": "DBS",
  "nameInitial": "Auto",
  "scanAllInitials": false,
  "maxItems": 50
}
````

# Actor output Schema

## `results` (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 = {
    "searchQuery": "DBS",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/singapore-acra-entities-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": "DBS",
    "maxItems": 50,
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Singapore ACRA Company Registry Scraper",
        "description": "Look up Singapore companies and businesses from the official ACRA corporate register on data.gov.sg. Get UEN, entity status, incorporation date, registered address, SSIC industry codes, officer count, former names and audit firms. Export to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "fZ3s1KWx8kAqClxyV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~singapore-acra-entities-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-singapore-acra-entities-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-acra-entities-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-singapore-acra-entities-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-acra-entities-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-singapore-acra-entities-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": "Company name or UEN",
                        "type": "string",
                        "description": "A company/business name keyword or a UEN to look up (for example 'DBS' or '198600294G'). Leave empty to list entities from the selected initial. Full-text match across each record."
                    },
                    "nameInitial": {
                        "title": "Entity name initial",
                        "enum": [
                            "Auto",
                            "A",
                            "B",
                            "C",
                            "D",
                            "E",
                            "F",
                            "G",
                            "H",
                            "I",
                            "J",
                            "K",
                            "L",
                            "M",
                            "N",
                            "P",
                            "Q",
                            "R",
                            "S",
                            "T",
                            "U",
                            "V",
                            "W",
                            "X",
                            "Y",
                            "Z",
                            "Others"
                        ],
                        "type": "string",
                        "description": "The ACRA register is split into one file per entity-name initial. Auto uses the first letter of your search term (best for name lookups). Pick a specific letter to browse it, or 'Others' for names starting with a number or symbol. Use 'Scan all initials' below to search the whole register.",
                        "default": "Auto"
                    },
                    "scanAllInitials": {
                        "title": "Scan the whole register",
                        "type": "boolean",
                        "description": "When enabled, the actor searches every initial file A-Z (plus Others) applying your search and filters. Thorough but slower, because the open-data portal rate-limits anonymous requests. Leave off for a fast single-file lookup.",
                        "default": false
                    },
                    "entityStatus": {
                        "title": "Entity status filter",
                        "type": "string",
                        "description": "Optional exact match on the registration status, for example 'Live Company', 'Registered' or 'Struck Off'. Leave empty to keep every status."
                    },
                    "entityType": {
                        "title": "Entity type filter",
                        "type": "string",
                        "description": "Optional exact match on the entity type, for example 'Local Company' or 'Sole Proprietorship/ Partnership'."
                    },
                    "ssicCode": {
                        "title": "Primary SSIC code filter",
                        "type": "string",
                        "description": "Optional exact match on the primary SSIC industry code (for example '64202'). Useful to pull every company in one industry."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of entities to collect. Optional."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
