SEBI Registered Intermediaries Scraper (India)
Pricing
from $12.75 / 1,000 results
SEBI Registered Intermediaries Scraper (India)
Scrape SEBI registered intermediaries in India: stock brokers, investment advisers, research analysts, merchant bankers, mutual funds, portfolio managers and more, with name, registration number, contact, email, phone, address and validity. Filter by category, name and state. Export to CSV or Excel.
Pricing
from $12.75 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
SEBI Registered Intermediaries Scraper (India)
Here is one real result, with every field the actor returns:
{"category": "Investment Adviser","name": "1 Finance Private Limited","registrationNo": "INA000017523","contactPerson": "Mohan Kumar","email": "compliance@1finance.co.in","telephone": "00007738942481","fax": "00007738942481","address": "Marwadi Financial Plaza Nana Mava Main Road, Off 150 Feet Ring Road","city": "RAJKOT","state": "GUJARAT","pincode": "360001","country": null,"correspondenceAddress": "Unit No B- 1101/1102, 11th Floor B Wing, Lotus Corporate Park Off Western Express Highway Goregaon (E)","correspondenceEmail": null,"correspondenceTelephone": null,"correspondenceCity": "MUMBAI","correspondenceState": "MAHARASHTRA","correspondencePincode": "400063","exchangeName": null,"tradeName": null,"validityFrom": "Dec 22, 2022","validityTo": "Perpetual","isActive": true,"sourceUrl": "https://www.sebi.gov.in/sebiweb/other/OtherAction.do?doRecognisedFpi=yes&intmId=13","source": "SEBI (Securities and Exchange Board of India) registered intermediaries","observedAt": "2026-08-11T11:12:45.208Z"}
The most complete SEBI registered intermediaries scraper available. It returns every field the official SEBI register exposes for each intermediary, including contact person, email, phone, registered and correspondence addresses, plus a derived isActive flag, across 25+ intermediary categories, so you get contactable leads without extra parsing.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor downloads the official SEBI (Securities and Exchange Board of India) register for each intermediary category you request, parses every row, applies the filters you pass as input, and writes one normalized record per intermediary to the run's dataset. Each record carries the intermediary name, SEBI registration number, contact person, email, phone, fax, registered address, and correspondence address. Registration validity is parsed into validityFrom, validityTo, and a derived boolean isActive (true when the registration is perpetual or not yet expired).
You can pull several categories in one run (investment advisers, research analysts, brokers, mutual funds, portfolio managers, credit rating agencies, custodians, and more) and filter by name, state, city, registration number, or active status.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 50 SEBI-registered investment advisers.
{"categories": ["investment_adviser"],"maxRecords": 50}
Add names, states, cities, or registrationNos to filter. Set activeOnly to true to keep only currently valid registrations. Pass multiple categories to aggregate them in one run.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
categories | string[] | no | ["investment_adviser"] | SEBI categories to scrape. Options include investment_adviser, research_analyst, merchant_bankers, portfolio_managers, stock_brokers_equity, mutual_funds, alternative_investment_funds, credit_rating_agencies, custodians, debenture_trustees, rta, fpi, depository_participants_nsdl, depository_participants_cdsl, reit, infrastructure_investment_trusts, and more. A raw SEBI intmId number also works. |
names | string[] | no | (empty) | One or more intermediary names or partial names to filter by. |
states | string[] | no | (empty) | Keep only intermediaries in these states, for example Maharashtra, Delhi, Gujarat. |
cities | string[] | no | (empty) | Keep only intermediaries in these cities, for example Mumbai, Bengaluru. |
registrationNos | string[] | no | (empty) | Filter by SEBI registration number or a prefix, for example INA, INH, INZ. |
activeOnly | boolean | no | false | Only return intermediaries whose registration is currently valid (perpetual or not yet expired). |
maxRecords | integer | no | 50 | Maximum number of intermediaries to collect. |
Filters combine with logical AND. Records are sorted alphabetically by name.
Output reference
One dataset item per intermediary. Types: string, boolean, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
category | string | SEBI category label, for example Investment Adviser. |
name | string | Intermediary name. |
registrationNo | string | SEBI registration number (unique per registration). |
contactPerson | string | Named contact person, or null. |
email | string | Contact email, or null. |
telephone | string | Contact telephone, or null. |
fax | string | Fax number, or null. |
address | string | Registered address. |
city | string | Registered address city. |
state | string | Registered address state. |
pincode | string | Registered address PIN code. |
country | string | Country, or null. |
correspondenceAddress | string | Correspondence address, or null. |
correspondenceEmail | string | Correspondence email, or null. |
correspondenceTelephone | string | Correspondence telephone, or null. |
correspondenceCity | string | Correspondence city, or null. |
correspondenceState | string | Correspondence state, or null. |
correspondencePincode | string | Correspondence PIN code, or null. |
exchangeName | string | Exchange name (for broker categories), or null. |
tradeName | string | Trade name, or null. |
validityFrom | string | Registration validity start, for example Dec 22, 2022. |
validityTo | string | Registration validity end, or Perpetual. |
isActive | boolean | true when the registration is perpetual or not yet expired, false when expired, null if it cannot be parsed. |
sourceUrl | string | SEBI list page URL for the category. |
source | string | Constant source label. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
On a failed run, a single item with a populated error field is written instead, and it is not charged.
Example output record
Real record from a live run (input {"categories": ["investment_adviser"], "maxRecords": 50}):
{"category": "Investment Adviser","name": "1 Finance Private Limited","registrationNo": "INA000017523","contactPerson": "Mohan Kumar","email": "compliance@1finance.co.in","telephone": "00007738942481","fax": "00007738942481","address": "Marwadi Financial Plaza Nana Mava Main Road, Off 150 Feet Ring Road","city": "RAJKOT","state": "GUJARAT","pincode": "360001","country": null,"correspondenceAddress": "Unit No B- 1101/1102, 11th Floor B Wing, Lotus Corporate Park Off Western Express Highway Goregaon (E)","correspondenceCity": "MUMBAI","correspondenceState": "MAHARASHTRA","correspondencePincode": "400063","validityFrom": "Dec 22, 2022","validityTo": "Perpetual","isActive": true,"sourceUrl": "https://www.sebi.gov.in/sebiweb/other/OtherAction.do?doRecognisedFpi=yes&intmId=13","source": "SEBI (Securities and Exchange Board of India) registered intermediaries","observedAt": "2026-08-11T11:12:45.208Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sebi-registered-intermediaries-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"categories":["research_analyst"],"states":["Maharashtra"],"activeOnly":true,"maxRecords":100}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sebi-registered-intermediaries-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"categories":["merchant_bankers","portfolio_managers"],"maxRecords":500}'
Apify CLI:
apify call scrapers_lat/sebi-registered-intermediaries-scraper \--input '{"categories":["investment_adviser"],"maxRecords":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per intermediary returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxRecords.
FAQ and troubleshooting
A run returned 0 records. Why?
Your filters (name, state, city, registration number, or activeOnly) removed every row. Loosen them and try again. Zero-result runs are not charged.
Which categories can I scrape?
Investment advisers, research analysts, merchant bankers, portfolio managers, several broker categories, mutual funds, alternative investment funds, credit rating agencies, ESG rating providers, debenture trustees, custodians, registrars and share transfer agents, depository participants, REITs, InvITs, FPIs, and more. Pass one or many in categories.
How do I get only currently registered intermediaries?
Set activeOnly to true. The isActive flag is derived from the registration validity end date (Perpetual counts as active).
Why is email or contactPerson null for some rows?
SEBI publishes these only when the intermediary provided them. Missing source values are returned as null, never invented.
Is this an official SEBI tool? No. This actor is independent and has no affiliation with SEBI. It reads only data that SEBI publishes in its public intermediary register.
Related scrapers
- FINRA BrokerCheck Scraper: US brokers and investment advisers.
- Hong Kong SFC Licensees Scraper: Hong Kong licensed intermediaries.
- GLEIF LEI Company Records Scraper: global legal entity identifiers.
- IndiaMART Suppliers Scraper: Indian B2B supplier leads.
- Indonesia Companies Scraper: Indonesian listed companies.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with SEBI or the Government of India. Accesses only publicly available SEBI intermediary register data.
