MAS Financial Institutions Directory Scraper
Pricing
from $15.36 / 1,000 item extracteds
MAS Financial Institutions Directory Scraper
Search the official MAS directory and export Singapore financial institutions with licence activities, contacts, addresses, and source links.
Pricing
from $15.36 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Search the official MAS financial institutions directory and export structured records for Singapore-regulated institutions.
The Actor reads the Monetary Authority of Singapore Financial Institutions Directory on every run. It returns institution identity, displayed licence or institution types, regulated and exempt activities, website, telephone, address, source links, and an observation timestamp.
Use it for compliance screening, licence research, financial-market mapping, vendor onboarding, and repeatable directory snapshots.
What does this MAS directory scraper do?
The Actor can:
- search by institution name, licence, or activity;
- enumerate an official MAS sector;
- select an exact licence or institution category;
- filter by a regulated activity;
- follow MAS result pagination;
- open each official institution detail page;
- preserve nested licence and activity relationships;
- export one normalized JSON record per institution;
- stop at a user-defined result limit;
- fail clearly if MAS returns an invalid or unavailable page.
Data comes from https://eservices.mas.gov.sg/fid. The Actor does not use a static company list or infer licences from third-party data.
Who is it for?
Compliance and onboarding teams
Check whether counterparties appear in the current MAS directory and review the licence types and activities MAS displays.
Fintech and payments teams
Map payment institutions, merchant acquirers, money-transfer providers, or other regulated service categories.
Market researchers
Build structured lists of banks, insurers, advisers, capital-markets firms, and payments businesses for analysis.
Data and automation teams
Feed current public directory records into spreadsheets, databases, BI tools, n8n, Make, Zapier, or internal screening pipelines.
What data can you extract?
| Field | Meaning |
|---|---|
institutionId | Stable identifier contained in the MAS detail URL |
institutionName | Institution name displayed by MAS |
institutionType | First displayed licence or institution type |
institutionTypes | All displayed licence and institution types |
licences | Licence objects with type, displayed status, and activities |
regulatedActivities | Deduplicated activities across displayed licences |
exemptActivities | Activities grouped under licence types marked exempt |
incorporation | MAS incorporation note, when displayed |
website | Institution website displayed by MAS |
telephone | Public telephone number displayed by MAS |
address | Public address displayed by MAS |
keyPersonnel | Public key-personnel names displayed by MAS |
resultUrl | Official result page where the institution was found |
sourceUrl | Official MAS institution detail URL |
observedAt | UTC observation timestamp for the run |
Fields can be empty when MAS does not display that information. The Actor does not manufacture missing values.
Why use this Actor?
- Official source: every exported institution is resolved through MAS FID.
- Detailed records: list cards are enriched from official institution detail pages.
- Activity structure: each licence keeps its own displayed activities.
- Auditability: every row includes result and source URLs plus
observedAt. - Bounded runs:
maxItemsprovides a predictable output and billing cap. - No browser overhead: server-rendered MAS pages are retrieved directly with bounded retries.
- Safe failure behavior: unexpected response shapes fail the run instead of pretending there were zero matches.
How to scrape MAS financial institutions
- Open the Actor in Apify Console.
- Enter a search term, sector, category, or activity.
- Set
maxItemsto the largest number of institutions you want. - Keep the default concurrency unless you have a specific reason to lower it.
- Click Start.
- Open the Dataset tab when the run completes.
- Export results as JSON, CSV, Excel, XML, or another Apify-supported format.
A first run can use:
{"term": "DBS","maxItems": 10}
Input parameters
term
Free-text search sent to the official directory. MAS accepts institution names, licence types, and activities.
Examples:
DBSfund managementpaymentinsurance broker
An empty term is valid when you use a sector, category, or activity filter. Leaving every filter empty enumerates the directory from its first page until maxItems is reached.
sector
Optional official MAS sector:
- Banking
- Capital Markets
- Financial Advisory
- Insurance
- Payments
category
Optional exact directory category or licence type, for example:
Local BankMajor Payment InstitutionCapital Markets Services LicenseeLicensed Financial Adviser
Use the wording shown by MAS.
activity
Optional official regulated-activity filter, for example:
Fund ManagementMerchant Acquisition ServiceDomestic Money Transfer Service
maxItems
Maximum number of institution rows to save. Allowed range: 1–5,000. The default is 100 and the Console prefill uses 10.
maxConcurrency
Number of institution detail pages fetched simultaneously. Allowed range: 1–10. The conservative default is 5.
Example inputs
Search for fund managers
{"term": "fund management","maxItems": 10}
Export the Local Bank category
{"term": "","category": "Local Bank","maxItems": 10}
Screen merchant acquirers in the Payments sector
{"term": "","sector": "Payments","activity": "Merchant Acquisition Service","maxItems": 20}
Output example
A current search can produce a record like this:
{"institutionId": "166","institutionName": "DBS BANK LTD.","institutionType": "Designated Payment System Settlement Institution","institutionTypes": ["Designated Payment System Settlement Institution","Exempt Capital Markets Services Entity","Exempt Financial Adviser","Local Bank"],"licences": [{"type": "Exempt Capital Markets Services Entity","status": "Exempt","activities": ["Fund Management","Dealing In Capital Markets Products"]}],"regulatedActivities": ["Fund Management","Dealing In Capital Markets Products"],"exemptActivities": ["Fund Management","Dealing In Capital Markets Products"],"incorporation": "Incorporated in Singapore","website": "http://www.dbs.com/","telephone": "+65 68788888","address": "12 MARINA BOULEVARD, SINGAPORE 018982","keyPersonnel": [],"resultUrl": "https://eservices.mas.gov.sg/fid/institution?term=DBS&page=1","sourceUrl": "https://eservices.mas.gov.sg/fid/institution/detail/166-DBS-BANK-LTD","observedAt": "2026-01-15T12:00:00.000Z"}
The source changes over time. Treat this as a shape example, not a guarantee that a named institution will always have the same licences or contact details.
How much does it cost to scrape MAS financial institutions?
This Actor uses pay-per-event pricing:
- Start: $0.005 once per run.
- MAS institution record: $0.02944 on FREE, $0.0256 on BRONZE, $0.019968 on SILVER, and $0.01536 on GOLD, PLATINUM, or DIAMOND.
Only records written to the default dataset incur the record event. Empty searches incur no record events.
Examples before any unrelated platform charges:
| Run | Example price |
|---|---|
| 1 record on FREE | $0.03444 including start |
| 10 records on FREE | $0.2994 including start |
| 25 records on BRONZE | $0.645 including start |
| 100 records on BRONZE | $2.565 including start |
| 100 records on GOLD | $1.541 including start |
Your applicable Apify tier determines the per-record rate. Set maxItems to control the maximum number of chargeable rows.
Recurring compliance screening
Apify schedules can run the same input daily, weekly, or monthly. Each row contains a stable MAS identifier, source URL, and observation timestamp, which makes it suitable for downstream comparison.
A typical workflow is:
- schedule a bounded category or activity search;
- export the dataset to your database;
- key rows by
institutionId; - compare
institutionTypes,licences, contacts, and addresses with the prior snapshot; - send changes to a reviewer.
This Actor exports current observations. It does not itself maintain history, compute deltas, or send alerts.
Spreadsheet and database integrations
From the Dataset tab, export CSV or Excel for one-off analysis.
For recurring work, connect the default dataset to:
- Google Sheets;
- Airtable;
- Make;
- Zapier;
- n8n;
- webhooks;
- cloud storage;
- a SQL or document database through your own integration.
Use institutionId as the preferred source identity and retain sourceUrl for review.
Run with the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~mas-financial-institutions-directory/run-sync-get-dataset-items" \-H "Authorization: Bearer YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"sector":"Payments","activity":"Merchant Acquisition Service","maxItems":20}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/mas-financial-institutions-directory').call({term: 'fund management',maxItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/mas-financial-institutions-directory').call(run_input={'category': 'Local Bank', 'maxItems': 10})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use with MCP and AI agents
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/mas-financial-institutions-directory"
Claude Desktop
Add this server in Claude Desktop's MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/mas-financial-institutions-directory"}}}
Cursor
Add the same mcpServers.apify.url value in Cursor's MCP settings.
VS Code
Add the same remote HTTP URL to your VS Code MCP server configuration, then authorize Apify when prompted.
Example prompts:
- “Search MAS for fund management institutions and return their licence activities and source links.”
- “Export the Local Bank category from MAS as a table.”
- “Find Payments-sector firms authorised for merchant acquisition and include public contact details.”
AI output should support, not replace, review of the official linked records.
Reliability and failure behavior
The Actor validates HTTP status, response content type, and recognizable MAS page selectors.
It retries temporary network failures, HTTP 429, and temporary 5xx responses up to three times with backoff. It does not repeatedly retry deterministic 4xx errors.
The run fails instead of returning a misleading empty dataset when:
- MAS is unavailable after bounded retries;
- a response is not HTML;
- the expected official page structure is absent;
- an institution detail page has no recognizable name.
A valid search with no matching result completes successfully with zero dataset rows.
Limits and responsible use
- The Actor exports only fields publicly displayed by MAS.
- It does not verify that displayed details are complete or error-free.
- It does not include historical, revoked, or suspended licences unless MAS displays them in the current directory result.
statusisnullwhen MAS does not explicitly display a status in the licence heading.- A financial institution can hold multiple licences, so licence counts and institution counts are not equivalent.
- Upstream wording, categories, and availability can change.
- Large runs make one detail request per accepted institution and can take longer.
- No residential proxy or browser fallback is enabled.
Use conservative schedules and result limits. Do not overload the source.
Legal and ethical use
MAS FID is a public government directory, but users remain responsible for their purpose, storage, sharing, and downstream decisions.
Follow MAS terms, Apify terms, applicable privacy and data-protection law, and your organisation's compliance procedures. Public contact or personnel data should be used proportionately. Do not use this Actor for harassment, impersonation, spam, or automated adverse decisions without appropriate human review.
This Actor is an extraction tool, not legal, regulatory, investment, or compliance advice.
FAQ
Why did my run return zero rows?
Confirm the spelling and try one filter at a time. MAS category and activity filters work best with the exact wording shown in the directory. An empty dataset can be valid for a real no-match query.
Why did the run fail instead of returning partial data?
The Actor fails when it cannot validate an official list or detail response. This prevents an upstream outage or changed page from looking like a real empty result. Review the run log and retry later if MAS was temporarily unavailable.
Why is status null?
MAS labels the section “Licence Type/Status” but does not always display a separate status value. The Actor records only explicit status words and does not infer “Active.”
Why can one institution have many types?
MAS can display several licences, exemptions, or institutional categories for one entity. institutionType is a convenience field; use institutionTypes and licences for complete analysis.
Can I scrape the whole directory?
Yes. Leave filters empty and raise maxItems, up to 5,000. Start with a smaller run to confirm the data and cost fit your workflow.
Related automation-lab Actors
- Australian ABN Register Scraper for Australian business identity and status checks.
- UK Charity Commission Register Scraper for UK charity due diligence.
- Chicago Business Licenses Scraper for municipal licence monitoring.
Support
If a run fails, include the run URL, input with secrets removed, expected result, and observed behavior in an Actor issue. Do not include API tokens or private downstream data.