LorryCare API
Official ULIP truck data — FASTag toll crossings, VAHAN, eChallan, E-Way Bill — inside your own software. One key, one wallet, four services. Nobody to call.
Start in three steps
- Sign up on lorrycare.com with your mobile (OTP). That account's credit wallet is what the API spends.
- Ask for your API key on WhatsApp 73593 04277 or info@lorrycare.com (self-service keys are coming next). Your first key comes with 100 free API credits.
- Call any service below with
Authorization: Bearer <your key>. Buy credits on the recharge page whenever you like — they never expire.
curl -X POST https://lorrycare.com/api/v1/fastag \
-H "Authorization: Bearer lc_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "vehicle": "MH04AB1234" }'Check a key without spending anything: GET /api/v1/whoami with the same header — returns your tier, wallet balance and free credits.
Pricing
All prices exclude 18% GST · no setup fee · no refunds
Pay-as-you-go
No fee
credits only
Buy credit packs as you go
up to 30 calls / min
Starter
₹2,499
per month
4,000 credits / month
up to 60 calls / min
annual: pay 11 months, get 12 — ₹27,489/yr
Growth
₹9,999
per month
20,000 credits / month
up to 300 calls / min
annual: pay 11 months, get 12 — ₹1,09,989/yr
Scale
₹24,999
per month
60,000 credits / month
up to 1,000 calls / min
annual: pay 11 months, get 12 — ₹2,74,989/yr
Enterprise
Custom
by contract
More than Scale? Talk to us.
up to 1,000 calls / min
Credits per call, every tier: FASTag 1 · VAHAN 2 · eChallan 2 · E-Way Bill 2. All four services are open on every tier.
Plan credits refill every month and lapse at month end; wallet credits never expire and are used when the plan allowance is finished (or on pay-as-you-go). Free credits are spent first.
You are never charged when the government service is down, when a vehicle has no FASTag crossing, or when a VAHAN / E-Way Bill record does not exist. Per-vehicle fair use: 30 calls an hour on the same truck.
Monthly plans with online payment, invoices and a usage page are being switched on; until then every account is pay-as-you-go.
The four services
FASTag toll crossings
POST /api/v1/fastag · 1 creditEvery toll plaza the truck crossed in the last 72 hours, newest first: plaza name, state, time (IST), direction. When the toll network has nothing new, the last known crossing on record is returned and nothing is charged.
Request body
{ "vehicle": "MH04AB1234", "since": "2026-10-28T00:00:00+05:30" }"since" is optional — crossings after that time only (last 72 hours otherwise).
Answer (shortened)
{ "success": true,
"data": { "vehicle_number": "MH04AB1234", "source": "live",
"latest_crossing": { "toll_plaza": "Khed Shivapur Toll Plaza", "state": "Maharashtra", "crossing_time": "2026-10-29T14:12:40+05:30", "direction": "S" },
"crossings": [ { "toll_plaza": "Khed Shivapur Toll Plaza", "state": "Maharashtra", "crossing_time": "2026-10-29T14:12:40+05:30", "direction": "S" } ],
"charged": true, "credit_balance": 2480, "free_credits_remaining": 0 },
"error": null, "meta": { "timestamp": "2026-10-29T08:43:01.120Z", "request_id": "…" } }VAHAN — RC details
POST /api/v1/vahan · 2 creditsThe registration record: owner name and type, make and model, class, fuel, registration date and validity, insurance (company, policy, valid upto), fitness, pollution certificate, permit (type, authority, validity, national permit dates), tax, RC status, blacklist status, NOC. A vehicle with no VAHAN record is a clean "found: false" answer and is not charged.
Request body
{ "vehicle": "MH04AB1234" }Answer (shortened)
{ "success": true,
"data": { "vehicle_number": "MH04AB1234", "owner_name": "…", "make_model": "TATA MOTORS LTD LPT 3118",
"vehicle_class": "Goods Carrier", "fuel": "DIESEL", "registration_date": "12-Mar-2019",
"insurance": { "company": "…", "policy_number": "…", "valid_upto": "11-Mar-2027" },
"fitness": { "valid_upto": "11-Mar-2027" }, "pollution": { "certificate_number": "…", "valid_upto": "…" },
"permit": { "number": "…", "type": "National Permit", "valid_upto": "…", "national_permit_upto": "…" },
"registration": { "valid_upto": "…" }, "tax": { "mode": "…", "valid_upto": "…" }, "status": "ACTIVE", "blacklist_status": null,
"charged": true, "credit_balance": 2478, "free_credits_remaining": 0 },
"error": null, "meta": { … } }eChallan — traffic challans
POST /api/v1/echallan · 2 creditsPending and disposed challans for the vehicle: challan number, date, fine amount, state, the offences (section + description). "No challans" is a valid answer (and is charged, as the government record was checked).
Request body
{ "vehicle": "MH04AB1234" }Answer (shortened)
{ "success": true,
"data": { "vehicle_number": "MH04AB1234", "has_challans": true,
"pending": [ { "challan_no": "MH123456789", "date": "12-08-2026 10:15:00", "fine_amount": "2000", "offences": [ { "section": "…", "description": "…" } ] } ],
"disposed": [],
"charged": true, "credit_balance": 2476, "free_credits_remaining": 0 },
"error": null, "meta": { … } }E-Way Bill
POST /api/v1/ewaybill · 2 creditsThe bill as the GST system holds it: status, generated date, valid-upto, from and to pincodes, HSN code, and every vehicle entered on the bill (vehicle number, date entered, transport mode). A bill that does not exist is "found: false" and is not charged.
Request body
{ "ewbNo": "101000609218" }Looked up by the 12-digit E-Way Bill number, not by vehicle.
Answer (shortened)
{ "success": true,
"data": { "found": true, "ewb_number": "101000609218", "status": "ACT", "status_description": "Active",
"ewb_date": "2026-10-27T16:30:00+05:30", "valid_upto": "2026-10-30T23:59:00+05:30",
"from_pincode": "400001", "to_pincode": "781028", "hsn_code": "0902", "vehicle_number": "AS01KC4471",
"vehicles": [ { "vehicle_no": "AS01KC4471", "entered_date": "2026-10-27T16:30:00+05:30", "trans_mode": "1" } ],
"charged": true, "credit_balance": 2474, "free_credits_remaining": 0 },
"error": null, "meta": { … } }When something goes wrong
Every answer has the same shape: { success, data, error: { code, message }, meta: { request_id, timestamp } }. Quote the request_id if you write to us.
| 401 | UNAUTHORIZED | Missing or wrong key. Send Authorization: Bearer lc_live_… |
| 403 | API_DISABLED | The account is switched off (or the key has no API account). |
| 403 | IP_NOT_ALLOWED | The key has an IP allow-list and this request came from elsewhere. |
| 400 | INVALID_VEHICLE / INVALID_EWB | The number does not look right. Nothing charged. |
| 402 | INSUFFICIENT_CREDITS | No credits left. Buy a pack at lorrycare.com/recharge — credits never expire. Nothing charged. |
| 429 | RATE_LIMIT_EXCEEDED | Too many calls this hour (your tier's limit, or the per-vehicle limit). Retry shortly. Nothing charged. |
| 429 | CREDIT_CAP_REACHED | Your daily or monthly safety cap. Resets at midnight IST / the 1st. Nothing charged. |
| 502 | PROVIDER_UNAVAILABLE | The government (ULIP) service is down right now. Nothing charged — retry in a few minutes. |
| 500 | INTERNAL_ERROR | Our fault. Nothing charged. |
Successful answers and rate-limit rejections carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
Good to know
Data comes from ULIP (Government of India). It is accurate to what the toll, RC, challan and GST systems hold; when they are down we say so and charge nothing. Expect ~95% availability.
Your key is for your own organisation's software — no resale or onward distribution. Keep the key secret; you can ask for it to be rotated any time. One key per server is a good habit.
Questions: WhatsApp 73593 04277 (messages only) · info@lorrycare.com
