1. About these terms
These Developer API Terms ("API Terms") govern your use of the RailCore Developer API: its endpoints, the API keys and signing secrets we issue, the developer console and the API documentation (together, the "API"). The API is provided by RailCore ("RailCore", "we", "us").
By creating an API key or calling the API, you accept these API Terms. If you accept them for a company or other organisation, you confirm that you can bind it, and "you" means that organisation.
These API Terms add to our Terms & Conditions, Privacy Policy and Acceptable Use Policy. Where they differ on the API, these API Terms apply. A signed Enterprise agreement takes precedence over both where it says so.
2. Licence and permitted use
While you follow these API Terms, we grant you a limited, non-exclusive, non-transferable, revocable licence to call the API with your own keys and to use the data it returns ("API Data") in your applications, within the limits of your plan.
Paid plans (Starter, Growth, Scale and Enterprise) allow commercial use. You may use API Data in products and services that you sell, show advertising in or otherwise earn from, as long as you follow these API Terms.
The Free plan is for evaluation and personal projects only. It may not power a commercial product or a service run for a business. Move to a paid plan before you use the API commercially.
You are responsible for your application, for how it presents API Data to your users, and for its compliance with the law.
RailCore keeps every right in the API, its documentation and RailCore's compilations of railway data that these API Terms do not expressly grant you.
3. Attribution
Where your application shows API Data to people, credit RailCore as the source, for example "Data from RailCore", next to the data or on an about or credits screen your users can reach easily. Link the credit to railcore.tech where your medium supports links. A signed Enterprise agreement can set different attribution.
Do not suggest that RailCore endorses or runs your product, and do not use the RailCore name or logo in your product's name, domain or app-store listing without our written permission.
Do not present your product or API Data as coming from, or approved by, Indian Railways, IRCTC or the Ministry of Railways. RailCore is independent of them.
4. Caching and storage
You may cache API Data to serve your own users faster and to avoid repeating requests, within these limits:
- Live data (live train status, live station boards, seat availability, availability calendars, and chart and vacant-berth results) changes from minute to minute. Show when it was fetched, do not present it as current once it is out of date, and keep it no longer than 24 hours.
- Reference data (stations, trains, schedules, stops, routes, coach positions and fares) may be cached for up to 30 days, then refreshed.
- API Data that forms part of a record of one of your users' own activity, such as a journey they saved, may be kept for as long as you provide your service to that user.
- Do not use cached or stored API Data to build a database or dataset of railway data, or a service that substitutes for the API.
When your access to the API ends, stop calling it and delete cached API Data within 30 days, except your users' own records described above and anything the law requires you to keep.
5. No resale or redistribution of raw data
You may not sell, resell, sublicense, rent or give away API Data in raw or bulk form, whether as files, feeds or datasets or through an API of your own, and you may not let anyone else call the API through your keys or through a proxy you run for them.
Showing API Data inside your application, including in a file a user exports of their own results, is not redistribution.
You may not download API Data systematically to copy it in bulk, for example to rebuild station, train or timetable lists, or to create a dataset for sale or publication.
6. Rate limits and fair use
Each plan has a monthly number of requests and a per-minute limit, and the Free plan also has a daily cap. Every limit applies to your account as a whole and is shared by all its keys. The current figures are in the rate limits guide and on the pricing page. A request over a limit is refused and is not counted.
Do not get around the limits, for example by opening several accounts or keys to multiply a plan's allowance, or by spreading one product's traffic across free accounts.
Send only the requests your application needs, and back off and retry as the errors guide describes. Do not load-test the API without our written agreement. We may throttle or block traffic that harms the API's stability or other customers, and we will tell you when we can.
7. API keys and security
Keep API keys and signing secrets confidential and on your servers. Do not put them in websites, mobile apps, browser extensions or public code repositories.
You are responsible for all use of your keys, and for the requests it uses, until you revoke them. If a key or secret may have been exposed, rotate or revoke it in the developer console straight away.
Where your plan requires signed requests, sign every request as the authentication guide and the HMAC signing guide describe.
Do not probe, scan or test the security of the API except as our security page allows. Report vulnerabilities to [email protected].
8. Availability, data and support
The API is provided "as is" and "as available". We work to keep it fast and reliable, and publish its status at status.railcore.tech, but we do not promise any level of uptime, speed or accuracy. There is no service-level agreement unless a signed Enterprise agreement includes one.
Railway data comes from sources we do not control. It can be late, incomplete or wrong, and a source can change or stop without notice. When that happens, an endpoint may return errors or less data until we restore it.
Paid plans include support by email, and Growth and Scale also by WhatsApp, unless a signed Enterprise agreement provides otherwise. The Free plan includes the documentation only, not email support. The response times we publish for each plan are targets, not commitments, unless a signed Enterprise agreement says otherwise.
9. Changes to the API and to these terms
We may add endpoints, parameters, response fields and values at any time without notice, so build clients that ignore fields and values they do not recognise.
Before we remove an endpoint or a field, or change one in a way that breaks existing clients, we will give at least 30 days' notice in the API changelog and by email to the address on your account. Where we can, we will also mark it as deprecated in its responses during that time.
We may make a change with shorter notice when security, the law or the loss of an upstream data source requires it. We will then give as much notice as we reasonably can.
We may update these API Terms. We will give at least 30 days' notice of a material change by email or in the developer console, unless the law requires the change sooner. If you keep using the API after a change takes effect, you accept the updated terms; if you do not accept them, stop using the API and cancel your plan.
10. Fees, offers and renewals
Prices are in Indian rupees, and checkout can also take an international payment in US dollars. You pay the price shown at checkout before you confirm a purchase. Our list prices are in requests and billing and on the pricing page.
Paid plans are sold monthly or as a one-time purchase. A monthly plan is paid in advance in Indian rupees with an autopay mandate, and renews automatically each month until you cancel it; every renewal is charged at the plan's list price at the time. A one-time purchase pays for one billing period and does not renew. An international payment in US dollars is always a one-time purchase: it pays for one billing period and does not renew.
How each request is counted is set out in requests and billing. Only successful responses are counted. When a plan's requests run out, further requests are refused until the plan renews or you change plan.
Where we run an introductory offer, such as a free trial or a discount on the first payment, it is for first-time buyers only: an account that has never paid for, or trialled, any developer plan. Each offer is described at checkout before you buy. A free trial needs a monthly plan with an autopay mandate in Indian rupees, so it is not available on a payment in US dollars; the first charge, at the plan's list price, is taken when the trial ends, and if you cancel before then you are not charged.
Any coupon or offer applies once, to one payment, and never to a renewal. Coupons and introductory offers do not combine: you get whichever first payment is lower. Opening extra accounts to claim an offer again breaks these API Terms, and we may withdraw the offer.
If you change plan part-way through a billing period, any credit for the unused part is worked out from the amount you actually paid for that period, not from the list price.
We may change a plan's price or allowance. We will give at least 30 days' notice before a price increase applies to your renewals.
Cancellations and refunds follow our Refund & Cancellation Policy.
11. Suspension and termination
You may stop using the API and revoke your keys at any time. Cancelling a paid plan follows the Refund & Cancellation Policy.
We may suspend a key, or suspend or end your access to the API, if you breach these API Terms or the Acceptable Use Policy, if a payment fails, if your use puts the security or stability of the API or other customers at risk, or if the law requires it. Where it is practical we will warn you first and give you a chance to put things right; we may act straight away for security risks, abuse or serious breaches.
We may stop offering the API or a plan by giving at least 30 days' notice.
When your access ends, your licence ends with it: stop calling the API and delete stored API Data as the caching and storage rules require. The rules on caching and storage and on redistribution, fees already due, the disclaimers and limitation of liability, and governing law continue to apply.
12. Disclaimers and limitation of liability
To the fullest extent the law allows, RailCore gives no warranties about the API or API Data, express or implied, including warranties of accuracy, merchantability, fitness for a particular purpose and non-infringement.
API Data is for information only. It is not an official record of Indian Railways or IRCTC, and you must not present it as one. Do not rely on it alone where an error could cause harm, and tell your users to confirm important travel details with official sources.
To the fullest extent the law allows, RailCore is not liable for any indirect, incidental, special, consequential or punitive damages, or for any loss of profits, revenue, business, goodwill or data, arising out of or in connection with the API or these API Terms, even if we were told such loss was possible.
Nothing in these API Terms excludes or limits any liability that cannot be excluded or limited under applicable law.
13. Privacy and request logs
We handle your account and billing information under our Privacy Policy.
For each API request we record the key used and its plan, the operation called, the response status and any error code, the requests counted, the timing, request and trace IDs, and the country the request came from (worked out from its IP address). We use these request logs to meter usage, show you your recent requests in the developer console, prevent abuse and fix problems. Request logs are deleted after 7 days. Billing records, such as invoices and usage totals, are kept for as long as accounting and tax law requires.
We also process technical data, such as the IP address a request comes from, to apply rate limits, IP allowlists and abuse protection.
The API does not need personal data about your users, so do not include it in requests. Your application needs its own privacy notice explaining how it uses API Data and your users' data.
14. Governing law and disputes
These API Terms are governed by the laws of India. The competent courts in India have exclusive jurisdiction over any dispute arising out of or in connection with them, without affecting any rights you have under consumer protection law.
15. General
If a court finds any part of these API Terms unenforceable, the rest stays in effect. If we do not enforce a term straight away, we have not waived it. You may not transfer these API Terms or your account without our written consent; we may transfer them to whoever takes over the RailCore business.
16. Contact
Questions about these API Terms: [email protected]. Billing and refunds: [email protected]. Enterprise plans and terms: contact us.