API Documentation
Version 1.0Base URL
Authentication
All API requests must be authenticated using your unique API Key. You can pass the key either as a standard HTTP header (recommended) or as a query parameter.
Method 1: Header (Recommended)
Best for backend applications.
X-API-KEY: your_api_key_here
Method 2: Query Parameter
Easier for quick browser testing.
?api_key=your_api_key_here
Endpoints
Retrieves a list of IPOs. By default, it returns all active IPOs (Open, Upcoming, or recently listed). Use query parameters to filter the results.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | Optional |
Filter by IPO category. Values: mainboard, sme
|
| status | string | Optional |
Filter by current status. Values: open, upcoming, closed
|
Response Schema
The API returns a JSON object containing a `success` flag, a `count` of total results, and a `data` array of IPO objects.
{
"success": true,
"count": 1,
"data": [
{
"name": "Tata Technologies Ltd",
"type": "Mainboard",
"open_date": "2023-11-22",
"close_date": "2023-11-24",
"listing_date": "2023-11-30",
"issue_size": "3042.51 Cr",
"issue_price": "500.00",
"status": "Closed",
"gmp": {
"price": "350",
"percentage": "70.00",
"updated_at": "2023-11-24 10:30:00"
}
}
]
}
Code Examples
Frequently Asked Questions
Is the API completely free?
Yes, the IPO Guru API is currently free for developers, students, and startups. We aim to support the financial tech ecosystem. However, we do enforce fair usage limits to ensure stability for everyone.
How often is the data updated?
The data is updated in near real-time. GMP (Grey Market Premium) values are updated multiple times a day based on market movements. Subscription data is updated as per exchange releases.
Can I use this for commercial projects?
Yes, you can use the API for commercial applications. We just ask that you attribute detailed IPO data to IPO Guru where appropriate.
What happens if I exceed the rate limit?
If you send too many requests in a short period, the API will return a 429 Too Many Requests status code. Please implement exponential backoff in your application to handle this gracefully.