ESMA MiFID Trading Venues Scraper
parseforge/esma-mifid-trading-venues-scraper
AutomationIntegrations
Scrapes the ESMA FIRDS MiFID trading venues register by venue name, MIC code, or country and returns each venue as a flat row with its operating status, address, and regulatory identifiers.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 87
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
ESMA MiFID Trading Venues Scraper
Scrape the official ESMA MiFID trading venues register by venue name, MIC code, or country, up to a million records per run. Every venue comes with its MIC, operating status, address, and regulatory details. Export to CSV, JSON, Excel, or XML.
The ESMA Financial Instruments Reference Data System (FIRDS) publishes the definitive list of MiFID trading venues, but the web interface is slow to search and offers no bulk export. This Actor reads the public register directly, filters by venue name, Market Identifier Code (MIC), or country, and returns each match in one flat, consistent schema. No API key, no registration, no manual downloads.
| Who uses it | What they scrape ESMA MiFID Trading Venues Register for |
|---|---|
| Compliance officers | Verify that counterparties are registered MiFID trading venues before onboarding. |
| Market data analysts | Build a complete, up-to-date directory of European trading venues for reference data systems. |
| Regulatory technology (RegTech) firms | Feed venue master data into automated regulatory reporting and transaction reporting pipelines. |
| Financial researchers | Map the European trading landscape by venue type, country, and operating status. |
What it does
This Actor collects trading venue records from the ESMA MiFID register by keyword or MIC and returns each venue as a flat row.
- ๐ Keyword search: filter by venue name, MIC code, or country to target specific venues.
- ๐ Bulk extraction: collect every venue in the register by leaving the query empty and setting a high maxItems.
- ๐ Structured output: each venue arrives as a flat row with MIC, name, status, address, and regulatory identifiers.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with ESMA MiFID Trading Venues Register data
๐ Build a counterparty reference database.
A compliance team runs the Actor weekly with no query filter to capture every registered MiFID venue, then loads the dataset into their internal reference data system for counterparty due diligence.
๐ Verify a specific venue by MIC.
A transaction reporting analyst enters a MIC code to confirm a venue's registration status and operating details before submitting a regulatory report.
๐ Map venues by country.
A market structure researcher filters by country name to list all trading venues in a single member state, then compares venue counts and types across jurisdictions.
๐ Feed a RegTech pipeline.
A RegTech platform schedules daily runs to ingest the full venue register and keep its automated reporting engine aligned with ESMA's latest published data.
Why choose this scraper
| What you get | |
|---|---|
| No API required | Reads the public FIRDS register directly, no registration or API key needed. |
| Always current | Pulls live data from ESMA on every run, so your dataset reflects the latest register. |
| Flat, predictable schema | Every venue returns the same fields, ready for databases, spreadsheets, or downstream systems. |
| Bulk-ready | Collect up to a million venues in a single run for full-register snapshots. |
How it compares
No other Store actor targets ESMA MiFID Trading Venues Register the same way, so the honest comparison is with the alternatives teams actually weigh.
| ESMA MiFID Trading Venues Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When ESMA MiFID Trading Venues Register changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with a venue name, MIC code, or country keyword, and set a maximum number of venues to collect per run. The Input tab lists every parameter.
A first run with the defaults:
{
"query": "*",
"maxItems": 10
}
A larger pull:
{
"query": "*",
"maxItems": 200
}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the ESMA MiFID Trading Venues Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to ESMA MiFID Trading Venues Register through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/esma-mifid-trading-venues-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your query matches a real venue name, MIC code, or country. Try leaving the query empty to confirm the register is reachable, then narrow your search term.
The Actor returns fewer venues than I expected.
The maxItems setting limits how many venues are collected. Increase it if you need more records. Also check that your query filter is not too restrictive.
Some venue fields are empty in the output.
ESMA does not populate every field for every venue. Empty fields reflect missing data in the source register, not an error in the Actor.
The run timed out before collecting all venues.
The ESMA register is large. Increase the run timeout in your Actor settings, or split the work into multiple runs with different country filters.
The data looks different from the ESMA website.
The Actor reads the same underlying FIRDS data as the ESMA website. Differences may reflect a timing gap if the register was updated between your website visit and the Actor run.
FAQ
| Question | Answer |
|---|---|
| What is the ESMA MiFID trading venues register? | It is the official list of trading venues authorised under the Markets in Financial Instruments Directive (MiFID II), published by the European Securities and Markets Authority through its FIRDS system. Each entry includes the venue's MIC code, name, operating status, and regulatory details. |
| Do I need an API key or ESMA account to use this Actor? | No. The Actor reads the public FIRDS register directly, so no registration, API key, or login is required. |
| Can I scrape all venues in one run? | Yes. Leave the query field empty or set it to a wildcard, and set maxItems to a high number to collect every venue in the register. |
| What filters can I apply? | You can filter by venue name, Market Identifier Code (MIC), or country. The filter runs as each venue is read, so only matching records reach your dataset. |
| How often is the ESMA register updated? | ESMA updates the FIRDS register continuously as venues are authorised, suspended, or withdrawn. Run this Actor on a schedule to keep your copy in sync. |
| What fields does each venue record contain? | Each record includes the MIC code, venue name, operating status, country, address, and regulatory identifiers. The exact field list is shown in the sample output on the Actor's page. |
| Can I export the data to Excel? | Yes. Apify supports export to CSV, JSON, Excel, and XML directly from the dataset tab. |
| Is this Actor suitable for MiFID II transaction reporting? | It provides the venue reference data you need for transaction reporting, but you should verify the data against your own compliance requirements before submitting reports. |
| What is a MIC code? | A Market Identifier Code (MIC) is a four-character code that uniquely identifies a trading venue, as defined by ISO 10383. ESMA uses MICs as the primary identifier in the FIRDS register. |
| Can I search by partial venue name? | Yes. The query field accepts partial names and keywords, so you can search for venues containing a specific term. |
Related actors
- finra-brokercheck-scraper: Use this to verify US broker and firm registrations through FINRA BrokerCheck instead.
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by European Securities and Markets Authority (ESMA). It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| query | string | Venue name, MIC, or country to filter by. Leave empty for all venues. | * |
| maxItems | integer | How many venues to collect per run. | 10 |
Pricing
from $7.50 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.0075 to $0.0085 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~esma-mifid-trading-venues-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
