Icra APIicra.in ↗
Access investment-grade corporate debt ratings from ICRA for companies with BBB+ ratings and above that have positive or stable outlooks. Filter and retrieve reliable credit assessments to support your investment decisions and portfolio analysis.
curl -X GET 'https://api.parse.bot/scraper/519ca75d-b240-48b3-8f49-110eac435a4a/get_ratings?page=1&pages_per_call=5' \ -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 icra-in-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: ICRA Corporate Debt Ratings SDK — bounded, re-runnable; every call capped."""
from parse_apis.icra_in_api import Icra, ParseError
client = Icra()
# List investment-grade ratings (BBB+ and above, Stable/Positive outlook)
for rating in client.ratings.list(pages_per_call=5, limit=3):
print(rating.entity_name, rating.ratings, rating.sector)
# Get the first matching entity for inspection
first = client.ratings.list(pages_per_call=3, limit=1).first()
if first:
print(first.entity_name, first.date, first.instrument)
# Typed error handling
try:
for r in client.ratings.list(pages_per_call=2, limit=1):
print(r.entity_name, r.company_id)
except ParseError as e:
print(f"error: {e}")
print("exercised: ratings.list")
Retrieves ICRA corporate debt ratings for entities rated BBB+ and above with Positive or Stable outlook. Results are paginated by upstream page numbers; each call fetches a configurable batch of pages and returns the filtered matching entities. The total upstream corpus spans ~502 pages of 10 records each.
| Param | Type | Description |
|---|---|---|
| page | integer | Starting upstream page number to fetch from. |
| pages_per_call | integer | Number of upstream pages to fetch in a single call. Max 50. |
{
"type": "object",
"fields": {
"items": "array of rating records matching BBB+ and above with Stable or Positive outlook",
"page_end": "last upstream page fetched",
"page_start": "first upstream page fetched",
"total_items": "number of matching records in this batch",
"total_pages": "total upstream pages available"
},
"sample": {
"data": {
"items": [
{
"date": "24 Jul 2026",
"sector": "Transport Infrastructure",
"ratings": "[ICRA]AA- (Stable), --",
"company_id": 13015,
"instrument": "Long-term – Fund-based – Cash Credit",
"sub_sector": "Airport & Airport services",
"entity_name": "Delhi Aviation Fuel Facility Private Limited",
"rationale_id": 144442
}
],
"page_end": 5,
"page_start": 1,
"total_items": 17,
"total_pages": 502
},
"status": "success"
}
}About the Icra API
The Icra API on Parse exposes 1 endpoint for the publicly available data on icra.in. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.