Example Indian Regulatory Site APIexample-indian-regulatory-site.com ↗
Access SEBI and RBI enforcement data via 6 endpoints. Search penalty orders, list violations by category, and extract fine amounts, entities, and violation types.
What is the Example Indian Regulatory Site API?
This API provides structured access to penalty and enforcement records from two major Indian financial regulators — SEBI and RBI — across 6 endpoints. Use search_penalties to find orders by entity name or keyword, list_penalties to page through enforcement actions by regulator and category, and get_penalty_details to extract structured fields like penalty amount, violation description, and entity name from individual order pages.
curl -X GET 'https://api.parse.bot/scraper/7a701eb0-282c-48bf-82dc-acaa8e49a7bf/search_penalties?limit=10&query=Kumar' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace example-indian-regulatory-site-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Indian Regulatory Penalty API — search, list, and drill into enforcement actions."""
from parse_apis.indian_regulatory_penalty_api import (
IndianRegulatory,
Regulator,
Category,
PenaltyNotFound,
)
client = IndianRegulatory()
# List available regulatory bodies to see what's supported.
for body in client.regulatorybodies.list(limit=5):
print(body.name, body.alias, body.categories)
# Search SEBI enforcement orders by keyword; limit caps total items fetched.
for record in client.penaltyrecords.search(query="Kumar", limit=3):
print(record.title, record.date, record.regulator)
# List recent SEBI AO Orders using the Category enum.
record = client.penaltyrecords.list(
regulator=Regulator.SEBI,
category=Category.AO_ORDERS,
limit=1,
).first()
# Drill into the first record's full details (calls get_penalty_details).
if record:
try:
detail = record.details()
print(detail.regulator, detail.title, detail.note)
except PenaltyNotFound as exc:
print(f"Penalty page removed: {exc.url}")
# Search by company name for entity-specific enforcement history.
for record in client.penaltyrecords.by_company(company_name="Patel", limit=3):
print(record.title, record.company_name, record.url)
print("exercised: regulatorybodies.list / penaltyrecords.search / penaltyrecords.list / record.details / penaltyrecords.by_company")
Search for penalty and enforcement records in SEBI's AO Orders category by keyword. Matches against entity names and terms in order titles. Returns a list of matching records with titles, dates, and detail URLs. SEBI's search indexes names and select keywords; generic terms like 'fraud' or 'insider' may return no results. Paginates server-side with up to 25 results per response.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return |
| queryrequired | string | Search keyword to find in SEBI enforcement order titles (e.g., entity name like 'Gupta', 'Kumar', or indexed terms like 'BSE', 'Illiquid') |
{
"type": "object",
"fields": {
"items": "array of penalty records with regulator, date, title, url, company_name, and type fields",
"total": "integer total number of results found (up to 25 per SEBI page)"
},
"sample": {
"data": {
"items": [
{
"url": "https://www.sebi.gov.in/enforcement/orders/jul-2025/adjudication-order-in-the-matter-of-rajiv-kumar-singh-proprietor-of-elite-investment-advisory-services_95403.html",
"date": "Jul 18, 2025",
"type": "Order",
"title": "Adjudication Order in the matter of Rajiv Kumar Singh, Proprietor of Elite Investment Advisory Services",
"regulator": "SEBI",
"company_name": "Rajiv Kumar Singh, Proprietor of Elite Investment Advisory Services"
}
],
"total": 25
},
"status": "success"
}
}About the Example Indian Regulatory Site API
What the API Covers
The API surfaces enforcement and penalty data from SEBI (Securities and Exchange Board of India) and RBI (Reserve Bank of India). SEBI coverage spans five order categories: AO_ORDERS, SETTLEMENT_ORDERS, CHAIRPERSON_MEMBERS, SAT_ORDERS, and REG_30A. RBI coverage focuses on penalty-related press releases, filterable by year. The list_regulatory_bodies endpoint returns the full list of supported bodies along with their aliases and available categories.
Searching and Listing Penalties
search_penalties accepts a query string matched against SEBI AO Order titles and entity names, returning up to 25 records per SEBI page with title, date, url, company_name, regulator, and type fields. get_company_penalties wraps the same search for entity-specific lookups — most effective with surnames or partial names that SEBI has indexed. list_penalties supports pagination via a page parameter for SEBI (25 results per page) and year-based filtering via year for RBI, with an optional limit to cap results per call.
Detail Extraction and Coverage Differences
get_penalty_details takes a URL from list_penalties or search_penalties and returns structured data. For RBI URLs, it extracts entity, penalty_amount (with currency symbol), violation, date, and up to 2000 characters of full_text. For SEBI URLs, the response is limited to title and url with an informational note — detailed penalty figures for SEBI orders are typically embedded in PDFs rather than page text, so those fields return null.
Supporting Endpoints
list_violation_categories returns a static list of 8 violation category strings covering common securities and banking offenses, useful for classifying or filtering records client-side. list_regulatory_bodies provides metadata about each supported regulator, including category slugs accepted by list_penalties.
The Example Indian Regulatory Site API is a managed, monitored endpoint for example-indian-regulatory-site.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when example-indian-regulatory-site.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official example-indian-regulatory-site.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screen entities by name against SEBI AO Orders using
get_company_penaltiesbefore onboarding a financial counterparty - Build a timeline of RBI enforcement actions for a given year using
list_penaltieswith theyearparameter - Extract penalty amounts and violation descriptions from RBI press release URLs via
get_penalty_details - Categorize enforcement records by violation type using the static list from
list_violation_categories - Monitor new SEBI settlement or SAT orders by polling
list_penaltieswith theSETTLEMENT_ORDERSorSAT_ORDERScategory - Aggregate enforcement exposure for a named entity across SEBI order titles using
search_penalties
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Do SEBI and RBI have official developer APIs?+
What does `get_penalty_details` actually return for SEBI vs. RBI URLs?+
entity, penalty_amount, violation, date, and up to 2000 characters of full_text. For SEBI URLs, it returns only title, url, and a note — structured penalty figures are not available because SEBI embeds that data in PDF documents linked from the order page rather than in page text.How reliable is SEBI search for finding all records for a given entity?+
total field in the response reflects matches up to SEBI's own 25-result page limit.Does the API cover other Indian regulators like IRDAI, SEBI SAT appeal outcomes, or MCA filings?+
Can I retrieve the full text of a SEBI penalty order, including the fine amount?+
title and url for SEBI records, not PDF content. RBI press release pages do expose penalty amounts as text, which get_penalty_details extracts into the penalty_amount field. You can fork the API on Parse and revise it to add PDF parsing for SEBI orders.