Skip to content
Data
Skill

/singapore-acra

Look up Singapore companies for free via the official ACRA open data on data.gov.sg - entity name, UEN (Unique Entity Number), entity status (Registered / Deregistered), entity type, registration date, and registered address. Use for KYB / know-your-business checks, counterparty

From plugin
getregdata
644 skills1 MCP
Install
$ npx -y skills add Nolpak14/getregdata --skill singapore-acra --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/singapore-acra

Context preview

The summary Claude sees to decide when to auto-load this skill.

Look up Singapore companies for free via the official ACRA open data on data.gov.sg - entity name, UEN (Unique Entity Number), entity status (Registered / Deregistered), entity type, registration date, and registered address. Use for KYB / know-your-business checks, counterparty

SKILL.md

singapore-acra.SKILL.md
name: singapore-acra
description: "Look up Singapore companies for free via the official ACRA open data on data.gov.sg - entity name, UEN (Unique Entity Number), entity status (Registered / Deregistered), entity type, registration date, and registered address. Use for KYB / know-your-business checks, counterparty verification, UEN resolution, and Singapore company due diligence. Trigger on: 'ACRA', 'Singapore company lookup', 'check a Singapore company', 'UEN lookup', 'Unique Entity Number', 'is this Singapore company registered', 'Singapore entity search', 'data.gov.sg ACRA'. The ACRA open dataset is free and needs no key; for officer, shareholder and financial DEPTH - and for jurisdictions with no free API - this skill points you to the paid ACRA BizFile API and the regdata registry actors."
metadata:
  version: 1.0.0
  author: regdata
  tags:
    - acra
    - singapore
    - uen
    - kyb
    - know-your-business
    - company-lookup
    - due-diligence
    - free-api
    - government-registry
  triggers:
    - "ACRA lookup"
    - "check a Singapore company"
    - "UEN lookup"
    - "Unique Entity Number lookup"
    - "Singapore entity search"
    - "is this Singapore company registered or deregistered"
    - "KYB check Singapore company"
    - "verify a Singapore supplier"
    - "data.gov.sg ACRA dataset"

singapore-acra

Free, official Singapore company data from ACRA's "Entities Registered with ACRA" open dataset, published on data.gov.sg as a keyless CKAN datastore (~2.1 million records). This skill needs no paid actor, no Apify token, and no API key at all - the datastore is wide open. Use it as the front door for Singapore entity verification, and route to the paid ACRA BizFile API or the regdata actors when you need depth the free dataset does not carry.

Persona

You are a KYB / due-diligence analyst verifying Singapore companies against the official register. You resolve a company to its UEN (Unique Entity Number), confirm it is registered (not deregistered), and record its entity type and registered address - all from the authoritative source, ACRA via data.gov.sg, not a commercial aggregator. You know up front that this free dataset is identity-only: officers, shareholders and financials live behind the paid BizFile API.

What this gives you (for free)

  • **Entity identity** - `entity_name` and `uen` (Unique Entity Number), the canonical Singapore business identifier.
  • **Status** - `uen_status_desc` (e.g. Registered / Deregistered), the pass/fail signal that the entity still exists.
  • **Entity type** - `entity_type_desc` (e.g. Local Company), the legal form.
  • **Registration date** - `uen_issue_date`, when the UEN was issued.
  • **Registered address** - `reg_street_name` and `reg_postal_code`, plus `issuance_agency_desc` (the agency that issued the UEN).

Data is under the Singapore Open Data Licence - free reuse with attribution. Read-only. **Refreshed monthly, not real-time.**

Authentication

None. No API key, no registration, no auth. The data.gov.sg CKAN datastore is open. Be polite: page with `limit`/`offset` rather than pulling the whole ~2.1M-record set, and pin the **v1** `datastore_search` endpoint below (a v2 API also exists - do not mix them).

Before starting

Ask the user for whichever is missing:

  • **Company name or UEN.** If you only have a name, search first (endpoint 1) and confirm the right match before trusting the record - names are not unique, UENs are.
  • **What they need.** Be clear that this dataset answers "does it exist / is it registered / what type / where" - it does **not** give officers, shareholders, industry (SSIC) code, or financials. Those need the paid BizFile API (see cross-sell).

API reference

Base URL: `https://data.gov.sg/api/action/datastore_search`

The combined "Entities Registered with ACRA" resource: `resource_id=d_3f960c10fed6145404ca7b821f263b87` (confirmed working). ACRA also splits the same data A-Z into ~27 separate `d_...` datasets; discover those via `package_search` or the dataset pages if you need them.

| # | Purpose | Method + path | Example | |---|---|---|---| | 1 | Search by name | `GET ...?resource_id={id}&q={name}&limit=20` | `?resource_id=d_3f960c10fed6145404ca7b821f263b87&q=DBS&limit=1` | | 2 | Lookup by UEN (free-text) | `GET ...?resource_id={id}&q={UEN}` | `?resource_id=...&q=196800306E` | | 3 | Lookup by UEN (exact filter) | `GET ...?resource_id={id}&filters={"uen":"{UEN}"}` | `?resource_id=...&filters={"uen":"196800306E"}` | | 4 | Paginate | `GET ...?resource_id={id}&limit={n}&offset={m}` | `?resource_id=...&limit=100&offset=100` |

**curl pattern** (no auth header on any endpoint):

BASE="https://data.gov.sg/api/action/datastore_search"
RID="d_3f960c10fed6145404ca7b821f263b87"

# name -> candidate entities (returns entity_name + uen)
curl "$BASE?resource_id=$RID&q=DBS&limit=1"

# UEN -> exact record via filter
curl "$BASE?resource_id=$RID&filters=%7B%22uen%22%3A%22196800306E%22%7D"

Results come back under `result.records[]`, with `result.total` for the match count. **UEN is a string - keep it verbatim** (letters and digits, e.g. `196800306E`); use the canonical `uen` from a name search (endpoint 1) in the exact-filter lookups.

Workflow: a Singapore KYB check

1. Resolve identity
   GET ...?q={name}&limit=20   -> read result.records[], pick the match, take uen
   (skip if the user already gave a UEN)

2. Confirm the entity is real and current
   GET ...?filters={"uen":"{uen}"}
   -> uen_status_desc must read "Registered" (else flag: Deregistered / other)
   -> record entity_type_desc, uen_issue_date, reg_street_name, reg_postal_code

3. Note the ceiling
   -> officers, shareholders, SSIC/industry, financials are NOT in this dataset
   -> if the check needs them, escalate to the paid BizFile Business Profile API

Output interpretation

**uen_status_desc is the pass condition.** "Registered" is the pass; "Deregistered" (and any struck-off / wound-up style st

Read more
Ships withgetregdata

Installable agent skills - packaged, repeatable workflows - for KYC/AML, credit-risk, due-diligence and B2B research over public business registry data.

Get the whole plugin
Stats
6
Stars
0
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: Nolpak14/getregdata

Other skills on getregdata.