GET /cars
Search car models by text, brand, fuel and budget.
MCP: search_cars · 1 credit
One account, one balance, and consistent results across both interfaces.
PMC_API_KEY.Authorization: Bearer …. Never put credentials in a URL.curl 'https://letspickmycar.com/api/v1/cars?q=brezza&price=onroad&loc=KA' \
-H "Authorization: Bearer $PMC_API_KEY" \
-H 'Idempotency-Key: my-first-car-search'// Run on your server. Never embed API keys in browser code.
const response = await fetch(
'https://letspickmycar.com/api/v1/recommendations',
{ method: 'POST', headers: {
Authorization: `Bearer ${process.env.PMC_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': 'family-shortlist-1'
}, body: JSON.stringify({ budget: 1500000, gearbox: 'auto',
loc: 'KA', price: 'onroad', seats: 5, charging: 'no' }) }
);
const result = await response.json();
if (!response.ok) throw new Error(result.error.message);
console.log(result.data, result.usage);import json, os, urllib.request
request = urllib.request.Request(
'https://letspickmycar.com/api/v1/balance',
headers={'Authorization': 'Bearer ' + os.environ['PMC_API_KEY']}
)
with urllib.request.urlopen(request) as response:
print(json.load(response)) # Balance checks cost 0 credits.Activate the Free plan first. Add https://letspickmycar.com/mcp as a remote Streamable HTTP server in your client. Complete browser sign-in with the same account. API keys also work in clients that support an Authorization header.
The server supports stateless calls and a legacy stateless compatibility path. It does not provide SSE sessions, background tasks or push notifications. Client support varies; no specific client is certified until its live authentication flow has passed verification.
Try: “Find five automatic family cars under ₹15 lakh on-road in Karnataka. Explain the tradeoffs and link your sources.” The assistant can discover the tools, read pmc://reference for valid inputs and call get_credit_balance for free.
Each successful tool call costs one credit. MCP discovery and reference resources cost zero. For a retry, reuse the optional requestKey with identical arguments within 24 hours; a new question needs a new key.
OpenAPI 3.1 specification · Brands, locations, features and filter values
All paths below start with /api/v1. Lists default to 10 results, maximum 20 per page. Recommendations return up to five matches; sales requests return up to 12 months.
GET /cars
Search car models by text, brand, fuel and budget.
MCP: search_cars · 1 credit
GET /cars/{carId}
Get a sourced car overview, recommended picks and safety scope.
MCP: get_car · 1 credit
GET /cars/{carId}/variants
List exact variants of a model, with prices and powertrains.
MCP: list_variants · 1 credit
GET /cars/{carId}/variants/{variantId}
Get exact equipment, scoped safety and estimated pricing for one variant.
MCP: get_variant · 1 credit
POST /recommendations
Shortlist up to five cars using budget, needs and charging access.
MCP: recommend_cars · 1 credit
POST /variant-recommendations
Recommend up to five variants within one model, with reasons and unmet preferences.
MCP: recommend_variants · 1 credit
POST /comparisons
Compare two or three exact variants side by side.
MCP: compare_cars · 1 credit
POST /variant-upgrades
Compare the cost and equipment gained or lost between two variants of one model.
MCP: compare_variant_upgrade · 1 credit
POST /pricing/on-road
Estimate a catalogue variant's on-road cash outlay in a registration jurisdiction.
MCP: estimate_on_road_price · 1 credit
POST /pricing/states
Rank initial on-road cash outlay for one exact variant across all 36 jurisdictions; preserve tax periods and unsupported estimates.
MCP: compare_state_prices · 1 credit
POST /calculators/running-cost
Calculate energy costs and optional break-even between two fuel or charging scenarios.
MCP: calculate_running_cost · 1 credit
POST /calculators/emi
Calculate EMI, total interest and the effective rate of a flat or reducing-balance car loan.
MCP: calculate_emi · 1 credit
GET /rankings
Read methodology-based budget rankings; scores are not road-test results.
MCP: get_rankings · 1 credit
GET /sales/{familyId}
Get up to 12 dated monthly sales observations for a model family, including grouping and source scope.
MCP: get_sales_history · 1 credit
Authenticated GET /balance and GET /usage cost zero credits. Usage returns the latest 100 records within 90 days. Public reference metadata and OpenAPI require no key.
recommend_cars with budget, location and preferences. Save the returned exact car and variant IDs.compare_cars.estimate_on_road_price for the selected variant and registration location.This costs three credits. Include our attribution and the returned guide/source links when showing results.
Idempotency-Key for REST retries within 24 hours. Reusing it with different inputs returns 409 IDEMPOTENCY_CONFLICT. Without a retry key, a repeated request is a new billable call.429 CREDITS_EXHAUSTED includes your renewal time. 429 RATE_LIMITED means retry after the indicated delay.Successful responses contain data, assumptions, datasetRevision, attribution, requestId and usage. Money is in INR rupees. Credit metadata is private and must not be shared through a public response cache.
Default pricing is estimated Karnataka on-road. Pass price=ex for ex-showroom prices and loc for a registration jurisdiction. Estimates are for new privately owned cars; registration eligibility and local charges need confirmation. State rankings compare initial cash outlay, including the reported tax period, rather than lifetime cost.
Keep unknown values as null. Preserve source check dates, crash-rating applicability and EV charging assumptions. Sales figures can cover several related models and always identify the reporting month and family.
Lakshadweep estimates require local confirmation and return no verified on-road total. Use ex-showroom mode for catalogue search or recommendations there.