{
  "openapi": "3.0.1",
  "info": {
    "title": "Singapore ACRA Company Register (data.gov.sg)",
    "description": "Singapore companies, sole proprietorships and LLPs from the official ACRA register on data.gov.sg: UEN, status, SSIC, address. Filter by date, industry, area.",
    "version": "0.1",
    "x-build-id": "SK9pWRZW8yQ3NEMsF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/knotty_mistveil~singapore-acra-entities/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-knotty_mistveil-singapore-acra-entities",
        "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/knotty_mistveil~singapore-acra-entities/runs": {
      "post": {
        "operationId": "runs-sync-knotty_mistveil-singapore-acra-entities",
        "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/knotty_mistveil~singapore-acra-entities/run-sync": {
      "post": {
        "operationId": "run-sync-knotty_mistveil-singapore-acra-entities",
        "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": {
          "letters": {
            "title": "Register files (first letter of entity name)",
            "uniqueItems": true,
            "type": "array",
            "description": "ACRA publishes one CSV per first letter of the entity name (A-Z) plus 'Others' for names starting with a digit or symbol. Each file is 4-76 MB and is streamed in full, so pick only the letters you need. Default is A (57 MB) to keep the default run cheap; add more letters, or pick 'all' (shorthand for every file, 686 MB in total) for a complete sweep.",
            "items": {
              "type": "string",
              "enum": [
                "all",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "K",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z",
                "Others"
              ],
              "enumTitles": [
                "all - every file (A-Z and Others, 686 MB)",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "K",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z",
                "Others (digits and symbols)"
              ]
            },
            "default": [
              "A"
            ]
          },
          "daysBack": {
            "title": "Days back",
            "minimum": 1,
            "maximum": 36600,
            "type": "integer",
            "description": "Return entities whose registration/incorporation date is within this many days before today (or before 'Registered to'). Ignored when 'Registered from' is set. The register refreshes monthly around the 14th with registrations up to the end of the previous month, so the newest record can be about six weeks old; 90 days is a safe default, 30 days is often empty.",
            "default": 90
          },
          "registeredFrom": {
            "title": "Registered from (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Earliest registration/incorporation date to include (inclusive). Overrides 'Days back'. Use an old date such as 1900-01-01 together with 'All dates' unticked to sweep history."
          },
          "registeredTo": {
            "title": "Registered to (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Latest registration/incorporation date to include (inclusive). Defaults to today."
          },
          "allDates": {
            "title": "All dates (ignore registration date)",
            "type": "boolean",
            "description": "Tick to ignore the registration date entirely and return every entity in the selected files that matches the other filters, e.g. every live company whose name starts with Q. Combine with 'Max results' and the status/SSIC filters to control cost.",
            "default": false
          },
          "entityStatuses": {
            "title": "Entity statuses",
            "type": "array",
            "description": "Exact status values to keep (case-insensitive). Real values include: Live, Live Company, Struck Off, Terminated, Cancelled, Cancelled (Non-Renewal), Ceased Registration, Gazetted To Be Struck Off, Dissolved - Members Voluntary Winding Up, In Liquidation - Compulsory Winding Up (Insolvency), Amalgamated, Converted To LLP. Default keeps only active entities (Live = business/LLP, Live Company = company). Leave the list empty to return all statuses.",
            "default": [
              "Live",
              "Live Company"
            ],
            "items": {
              "type": "string"
            }
          },
          "entityTypes": {
            "title": "Entity types (substring match)",
            "type": "array",
            "description": "Keep entities whose type contains any of these strings (case-insensitive). The register only ever uses these five values: Local Company, Sole Proprietorship/ Partnership, Limited Liability Partnership, Limited Partnership, Foreign Company Branch (public accounting firms are published as Sole Proprietorship/ Partnership). Example: [\"Local Company\"] for incorporated companies only. Empty = all types.",
            "items": {
              "type": "string"
            }
          },
          "ssicCodes": {
            "title": "SSIC codes or prefixes",
            "type": "array",
            "description": "Singapore Standard Industrial Classification codes to keep. Each value is matched as a prefix against the primary and secondary SSIC code, so \"62\" matches all of 62011-62090 (IT services) and \"56111\" matches restaurants only. Empty = all industries.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Name keywords",
            "type": "array",
            "description": "Case-insensitive substrings; an entity is kept when its name contains any of them (OR). Example: [\"logistics\", \"freight\"]. Empty = no name filter.",
            "items": {
              "type": "string"
            }
          },
          "postalDistricts": {
            "title": "Postal districts (1-28)",
            "type": "array",
            "description": "Singapore postal district numbers derived from the first two digits of the six-digit postal code (URA sector table), e.g. [\"1\", \"2\", \"6\"] for the CBD (Raffles Place, Tanjong Pagar, City Hall). Entities with old four-digit or foreign postal codes never match. Empty = all districts.",
            "items": {
              "type": "string"
            }
          },
          "postalPrefixes": {
            "title": "Postal code prefixes",
            "type": "array",
            "description": "Keep entities whose postal code starts with any of these digit strings, e.g. [\"53\", \"54\"] for Hougang/Serangoon sectors or [\"049422\"] for one building. Empty = all postal codes.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many entities. You are charged per result returned. The full register holds about two million rows (686 MB) across all 27 files.",
            "default": 1000
          },
          "apiKey": {
            "title": "data.gov.sg API key (optional)",
            "type": "string",
            "description": "Optional. A free data.gov.sg API key raises the download rate limit (2 calls per 10 s without a key). Only useful when you sweep many letters; the Actor already paces its calls to stay within the anonymous limit. Get one at https://guide.data.gov.sg/developer-guide/api-overview/how-to-request-an-api-key"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}