BizInsights API Documentation v3.7.1
BizInsights API Service provides a programmatic access via REST API to allow users to tap into BizInsights' database.
Users are able to acquire data of a corporate entity or an individual that is registered with Accounting and Corporate Regulatory Authority (ACRA) of Singapore by using our Search API. Users are also able to tap on our Report API to generate report, be it for filing purposes or KYC.
The REST API identifies the users via a token and the format of the results are in JSON.
Entity Search
Our search endpoint provides access to our search engine to obtain basic information of people and corporate entities. You can do a search using part of the name of the entity/person, or the Unique Entity Number (UEN) of the entity as a search query. The search will only return first 100 records available. If you did not get the result you desire, you would need to refine your search query.
Note
With effect from Dec 2024, search using the ID of a person is no longer available. To improve search result of people search, you can provide the UEN of the entity that the Person is currently having an active appointment.
Request
To search for entities, you will need to provide the url as per below:
GET https://api.bizinsights.net/api/search?[token=]&[entity=]&[query=]&[uen=]
POST https://api.bizinsights.net/api/search
e.g. corporate search: https://api.bizinsights.net/api/search?token=123456&entity=corporate&query=test
person search: https://api.bizinsights.net/api/search?token=123456&entity=person&query=tan&uen=200900000A
The definition of each parameter is explained in the table below.
| Parameter | Description | Option | Mandatory |
|---|---|---|---|
| token | The token to use for authentication. | Yes | |
| entity | Determines the index to search | corporate person |
Yes |
| query | The query to use for search. The search will return better results if more keywords are provided |
Yes | |
| uen | The Unique Entity Number of the entity the person is currently holding an appointment This parameter is only used for person search |
No |
Response
The search response is returned in json format.
{
"category": "corporate",
"message": "Got 1 results in 40ms.",
"timestamp": 1519095833037,
"results": [
{
"id": "123",
"name": "ABC",
"formername": "DEF",
"status": "LIVE",
"address": "30 PASIR PANJANG ROAD #10-31/32 SINGAPORE 117440",
"reports": [
"BPF",
"EBPF",
"CBPF"
]
}
]
}
The definition of each key is explained in the table below
| Key | Description | Datatype |
|---|---|---|
| category | The category that is searched | String |
| message | Statistical message which contains the amount of results and the time taken for the search to complete | String |
| timestamp | The date and time of search in linux epoch format | Long |
| results | The search result. The structure of the result differs depending on the search done. More information below. |
Array[Results] |
The result of 'corporate' entity search is as below
{
"id": 123,
"name": "ABC",
"formername": "DEF",
"status": "LIVE",
"address": "30 PASIR PANJANG ROAD #10-31/32 SINGAPORE 117440",
"reports": [
"BPF",
"EBPF",
"CBPF"
]
}
The definition of each key is explained in the table below
| Key | Description | Datatype |
|---|---|---|
| id | The ID of the corporate entity | String |
| name | The name of the corporate entity | String |
| formername | The former name of the corporate entity | String |
| status | The status of the corporate entity | String |
| address | The address of the corporate entity | String |
| reports | The reports available for this entity. The period of the financial information that it was filed in will be appended in format FSH-YYYY-MM (e.g. FSH-2013-12). For more information on the type of reports available, please visit this page. |
Array[String] |
The result of 'person' entity search is as below
{
"id": "58EA1BC378E",
"name": "KELVIN TAN",
"appointments": 1,
"reports": [
"PPF"
]
}
The definition of each key is explained in the table below
| Key | Description | Datatype |
|---|---|---|
| id | The unique identification number of the person | String |
| name | The name of the person | String |
| appointments | The amount of appointments the person holds | Int |
| reports | The reports available for this entity For more information on the type of reports available, please visit this page. |
Array[String] |
Report Generation
The generation endpoint provides a way to purchase the reports of corporate entity or person without any UI. The reports provided are the same with those reports that are purchased through our web portal. For more information on the reports we provide, please click here.
Request
To generate reports, you will need to provide the url as per below:
GET https://api.bizinsights.net/api/generate?[token=]&[type=]&[id=]&[year=]&[mime-type=]&[remarks=]
POST https://api.bizinsights.net/api/generate
e.g. https://api.bizinsights.net/api/generate?token=123456&type=fsh&id=123456R&year=2016-12&mime-type=application/pdf&remarks=abc
The definition of each parameter is explained in the table below.
| Parameter | Description | Option | Mandatory |
|---|---|---|---|
| token | The token to use for authentication | Yes | |
| type | The desired report type for purchase. Reports are categorised as below: Standard Reports: BPF, ECI, SCI, PPF Enhanced Reports: EBPF, EECI, ESCI Comprehensive Reports: CBPF, CCI Statements: FSH |
BPF, ECI, SCI, PPF EBPF, EECI, ESCI CBPF, CCI FSH |
Yes |
| id | The ID of the person or the Unique Entity Number (UEN) of a corporate entity Please ensure that the ID/UEN is correct. Incorrect ID/UEN will return an error |
Yes | |
| year | The year of the financial statement you wish to purchase. This parameter is only required if the report type is FSH. Other report type will ignore this parameter. Note: If this parameter is not provided when the requested report is FSH, the system will return an error |
FSH: Yes Others: No |
|
| mime-type | The file format of the report. If undefined, it will default to application/pdf text/xml and application/x-pdfx mime-type are only available for BPF, ECI, SCI & PPF reports Note: application/x-pdfx is a custom mime-type that returns a zip file. |
application/pdf text/xml application/json application/x-pdfx |
No |
| remarks | Remarks field that appears in the usage report for identification purpose. | No |
Response
The report generation response is returned in JSON format.
{
"referenceID": "XXXX-XXXX-XXXX-XXXX",
"username": "sandbox",
"timestamp": 1499520492353,
"remarks": "abc",
"link": "http://this.is.a.download.link"
}
The definition of each key is explained in the table below
| Key | Description | Datatype |
|---|---|---|
| referenceID | The purchase reference number | String |
| username | The user account that purchased the report | String |
| timestamp | The date and time of purchase in linux epoch format | Long |
| remarks | Remarks that are passed when calling this API | String |
| link | The download link for the report | String |
Profile
The profile endpoint allows user to access the information of the account registered with BizInsights. The development of this API is always ongoing, which means that new endpoints/functionalities will be available in the future.
When you register with BizInsights, we have requested some information from you which helps us identify you better. These information can be retrieved and updated, should there be a need for it. No sensitive information can be retrieved from this API.
Below are the currently available functionalities
Retrieval
To retrieve the profile information, send a GET request to the url with the parameters as per below:
GET https://api.bizinsights.net/profile/details?[token=]
e.g. https://api.bizinsights.net/profile/details?token=12345A
The search result is returned in json format
{
"userID": "sandbox",
"firstName": "A Test Account",
"lastName": "This Is",
"email": "test@example.com",
"dateCreated": "2016-06-30",
"companyName": "Test Example Pte Ltd",
"credit": 0,
"products": [
{
"code": "BPF",
"name": "Business Profile",
"price": {
"pdf": 360,
"xml": 360,
"json": 360,
"pdfx": 360
}
},
{
"code": "FSH",
"name": "Financial Statement",
"price": {
"pdf": 2140
}
}
]
}
The definition of each key is explained in the table below
| Key | Description | Datatype | Modifiable |
|---|---|---|---|
| userID | The identification of the user | String | No |
| firstName | First name of the user registered | String | Yes |
| lastName | Last name of the user registered | String | Yes |
| Email address of the user registered | String | Yes | |
| dateCreated | Created date of this user ID | String | No |
| companyName | Name of the company the user belongs to | String | Yes |
| credit | Amount of credits left | Int | No |
| products | Information of products that can be retrieved by the querying user | Array[Products] | No |
| code | Product code | String | No |
| name | Name of the product | String | No |
| price | Price of the product corresponding to the format Price are in cents and are Int datatype |
Array[Price] | No |
Update
To update your profile information, send a POST request to the below url:
POST https://api.bizinsights.net/profile/details?[token=]
e.g. https://api.bizinsights.net/profile/details?token=12345A
The body of the request should only contain the fields you wish to update. You would need to set the Content-Type header to application/json.
Example of the request body:
{
"email": "test@example.com",
"companyName": "Test Pte Ltd"
}
The above is a request to only update the email and the companyName of your profile. You are only able to modify the fields that are marked modifiable in the previous table.
You will receive a message to inform you if the request is successful
Transactions
The transactions endpoint can be used to retrieve your past transactions (up to 7 days) in case the purchased report is not downloaded or there are some issues when purchasing report. This can prevent purchasing the same report twice.
GET https://api.bizinsights.net/profile/transactions?[token=]&[reference=]&[startDate=]&[endDate=]
e.g. https://api.bizinsights.net/profile/transactions?token=12345A&reference=2025-1007-ABCD-DCBA
OR
https://api.bizinsights.net/profile/transactions?token=12345A&remarks=XYZ
OR
https://api.bizinsights.net/profile/transactions?token=12345A&startDate=20251001&endDate=20251007
The definition of each parameter is explained in the table below.
| Parameter | Description | Option | Mandatory |
|---|---|---|---|
| token | The token to use for authentication | Yes | |
| reference | The purchase reference of the transaction. If this is provided, all other parameters will be ignored | No | |
| remarks | The remarks given when making this transaction. If this is provided, both startDate and endDate parameters will be ignored | No | |
| startDate | A filter to search for transactions made after this date. Date cannot be later than endDate or today. If this is not provided, it will be set to 7 days ago. Date should be in the format: YYYYMMDD |
No | |
| endDate | A filter to search for transactions made before this date. Date cannot be earlier than startDate. If this is not provided, it will be set to today. Date should be in the format: YYYYMMDD |
No |
The result is returned in JSON format and it is similar to report generation response.
{
"referenceID": "XXXX-XXXX-XXXX-XXXX",
"username": "sandbox",
"timestamp": 1499520492353,
"remarks": "abc",
"link": "http://this.is.a.download.link"
}
The definition of each key is explained in the table below
| Key | Description | Datatype |
|---|---|---|
| referenceID | The purchase reference number | String |
| username | The user account that purchased the report | String |
| timestamp | The date and time of purchase in linux epoch format | Long |
| remarks | Remarks that are passed when calling this API | String |
| link | The download link for the report. If the transaction is made more than 7 days ago, it will show up as 'Expired' |
String |
Exceptions
There are times when mistakes were made, like when parameters are passed incorrectly, or invalid links. Exceptions will be returned with the cause of the error.
The different exceptions are listed in the table below
| Code | Description |
|---|---|
| 204 | Request is processed, but content is unable to be returned. Please contact us if this exception is encountered. |
| 400 | Incorrect/missing parameter(s). Affected parameter(s) will be listed in the response message. |
| 401 | Unable to identify user due to missing token parameter or incorrect token. |
| 403 | Unable to process request due to throttle settings or not enough balance. |
| 404 | Requested resource not found. |