The IPO Alerts API is organized around REST and has predictable resource-oriented URLs, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Endpoint
The base endpoint for the API is https://api.ipoalerts.in/ (opens in a new tab).
Rate Limiting
For security purposes, all endpoints are rate-limited and allow 6 requests / minute.
You can expect to receive an HTTP 429: Too Many Requests
error on breaching this limit. A typical error looks like:
{
"status": "429",
"title": "Too Many Requests",
"detail": "You are exceeding the permitted number of requests allowed per minute.",
"meta": {
"quotaPerMinute": 6,
"expiresIn": 54518
}
}
Resources
Get All IPOs
Returns a list of all IPOs with details such as opening and closing dates, issue size, price band, and more.
curl --location 'https://api.ipoalerts.in/ipos'
Response Format
The response format for all API calls is in JSON.
A typical successful response looks like:
{
ipos: [
{
"id": "12345",
"slug": "ipo_slug",
"infoUrl": "https://zerodha.com/ipo/some-url",
"name": "Some IPO",
"startDate": "2022-05-10",
"endDate": "2022-05-12",
"listingDate": "2022-05-24",
"priceRange": "595-630",
"minQty": 23,
"status": "closed"
}
]
}
Usage Examples
NodeJs (Axios)
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://api.ipoalerts.in/ipo',
headers: { }
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Python (Requests)
import requests
url = "https://api.ipoalerts.in/ipo"
payload={}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Swift (URLSession)
var request = URLRequest(url: URL(string: "https://api.ipoalerts.in/ipo")!,timeoutInterval: Double.infinity)
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Java (OkHttp)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.ipoalerts.in/ipo")
.method("GET", body)
.build();
Response response = client.newCall(request).execute();