Autochek APIautochek.africa ↗
Search used and new car listings in Kenya, get make/model data, dealer info, and loan estimates via the Autochek Africa API.
What is the Autochek API?
The Autochek Africa API gives developers structured access to Kenya's used and new car marketplace through 8 endpoints covering search, listing detail, makes, models, dealers, and financing calculations. The search_car_listings endpoint accepts filters like make, model, year, min_price, and max_price and returns paginated car objects with fields including marketplacePrice, mileage, transmission, and fuelType, along with filter metadata for makes, body types, and cities.
curl -X GET 'https://api.parse.bot/scraper/d3b4e66d-5b60-4016-81a7-52bd3aecb0d1/search_car_listings?make=Toyota&page=1&year=2020&model=Corolla&query=Toyota&max_price=5000000&min_price=500000' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace autochek-africa-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Autochek Kenya — browse listings, drill into details, estimate financing."""
from parse_apis.autochek_africa_api import Autochek, ListingNotFound
client = Autochek()
# Search used cars by make — limit caps total items fetched.
for listing in client.carlistings.search(make="Toyota", limit=3):
print(listing.title, listing.year, listing.marketplace_price)
# Drill into the first result for full specifications.
listing = client.carlistings.search(make="Nissan", limit=1).first()
if listing:
car = listing.details()
print(car.car_name, car.transmission, car.interior_color)
for media_item in car.media[:3]:
print(media_item.name, media_item.url)
# Browse makes and their models via sub-resource navigation.
make = client.makes.list(limit=1).first()
if make:
for model in make.models.list(limit=3):
print(model.name, model.wheel_type, model.popular)
# Estimate loan repayment for a vehicle.
estimate = client.loanestimates.calculate(
car_value=2000000, down_payment_pct=0.3, tenure_months=36
)
print(estimate.loan_amount, estimate.estimated_monthly_repayment)
# Typed error handling for a missing listing.
try:
gone = client.carlistings.search(limit=1).first()
if gone:
gone.details()
except ListingNotFound as exc:
print(f"Listing gone: {exc.vehicle_id}")
print("exercised: carlistings.search / details / makes.list / models.list / loanestimates.calculate")
Full-text search and filter over used car listings in Kenya. Supports filtering by make, model, year, and price range. Paginates via page number; each page returns up to 23 listings. Returns car summaries with pricing, mileage, and condition metadata.
| Param | Type | Description |
|---|---|---|
| make | string | Car make/brand filter (e.g. 'Toyota', 'BMW', 'Nissan'). |
| page | integer | Page number for pagination. |
| year | integer | Manufacture year filter. |
| model | string | Car model filter (e.g. 'Corolla', 'X1'). |
| query | string | Search keyword to match against listing titles. |
| max_price | integer | Maximum price filter in KES. |
| min_price | integer | Minimum price filter in KES. |
{
"type": "object",
"fields": {
"cars": "array of car listing objects with id, title, year, marketplacePrice, mileage, transmission, fuelType, sellingCondition, bodyType, etc.",
"filters": "object with makes, body_types, cities, selling_conditions arrays",
"pagination": "object with total, currentPage, pageSize"
},
"sample": {
"data": {
"cars": [
{
"id": "8oxhDwkYe",
"city": "Kiambu Rd",
"sold": false,
"year": 2018,
"state": "Nairobi",
"title": "Nissan Skyline",
"mileage": 75674,
"bodyType": {
"id": 8,
"name": "Sedan"
},
"fuelType": "petrol",
"inspected": true,
"engineType": "4-cylinder",
"gradeScore": 4.4,
"hasWarranty": false,
"mileageUnit": "km",
"hasFinancing": true,
"transmission": "automatic",
"marketplacePrice": 2015000,
"sellingCondition": "foreign"
}
],
"filters": {
"makes": [
{
"id": 2,
"name": "Acura"
}
],
"cities": [
{
"id": 94,
"name": "Baringo"
}
],
"body_types": {
"bodyTypeList": [
{
"id": 9,
"name": "Bus"
}
]
},
"selling_conditions": " "
},
"pagination": {
"total": 924,
"pageSize": 23,
"currentPage": 1
}
},
"status": "success"
}
}About the Autochek API
Listing Search and Detail
The search_car_listings endpoint accepts up to seven optional parameters — including make, model, year, min_price (KES), max_price (KES), query, and page — and returns an array of car objects alongside a filters object containing enumerated makes, body_types, cities, and selling_conditions arrays useful for building faceted search UIs. For a single listing, get_car_listing_detail takes a vehicle_id (obtainable from search results) and returns the full car object plus media (image/video URLs), features (named feature objects), inspection data with review arrays, similar_cars, and a financing object containing loanCalculator configuration ranges.
Makes, Models, and Inventory
get_car_makes_brands returns the full list of brands on the platform with id, name, and optional imageUrl, paginated. get_car_models_by_make takes a make_id and returns models available in Kenya, each with wheelType, associated make, and a popular flag. get_popular_cars returns homepage-level data in one call: a makeList of featured brands, a popular_cars result set with pagination, and a best_deals_cars array — useful for surfacing editorial picks without a search query. get_brand_new_cars returns paginated new-car inventory with the same listing shape as search results.
Loan Eligibility Estimation
get_car_loan_eligibility takes three required inputs — car_value (KES), tenure_months, and down_payment_pct (decimal 0–1) — and returns a breakdown including loan_amount, down_payment_amount, and estimated_monthly_repayment, all calculated at a fixed 21% annual interest rate. The response also includes a disclaimer string describing the estimation assumptions, making it suitable for displaying inline affordability estimates alongside listing prices.
Dealers
get_dealers returns a paginated result array of dealer objects on the platform. This is the entry point for any dealer-directory or inventory-by-dealer use case, though individual dealer filtering in listing search is not a current endpoint parameter.
The Autochek API is a managed, monitored endpoint for autochek.africa — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when autochek.africa changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official autochek.africa API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a used car search tool filtered by make, model, year, and KES price range using
search_car_listings. - Display a full vehicle detail page with photos, features, and inspection data from
get_car_listing_detail. - Render a brand browser with logos using
get_car_makes_brandsand drill into model inventory withget_car_models_by_make. - Show an affordability widget by calling
get_car_loan_eligibilitywith a listing's price and user-supplied down payment and tenure. - Surface homepage editorial picks — popular cars and best deals — using
get_popular_carswithout requiring a search query. - List brand new car inventory separately from used stock using the
get_brand_new_carsendpoint. - Build a dealer directory page from the paginated
dealersresult returned byget_dealers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Autochek Africa have an official developer API?+
What does `get_car_listing_detail` return beyond basic specs?+
year, mileage, price, and transmission, the endpoint returns a media array with image/video URLs, a features array of named equipment items, an inspection object containing inspectionReviews, a financing object with loan calculator configuration, and a similar_cars array. If the listing no longer exists, the endpoint returns a stale_input indicator.Is listing data available for Autochek markets outside Kenya — such as Nigeria, Ghana, or Egypt?+
Can I filter `search_car_listings` results by dealer or city?+
city or dealer as direct filter parameters. It does return a filters.cities array in the response, which you can use to populate a city picker in a UI. You can fork this API on Parse and revise it to add a city or dealer filter parameter.Does the loan estimate use live interest rates from Autochek's financing partners?+
get_car_loan_eligibility endpoint uses a fixed 21% annual interest rate for all estimates. The response includes a disclaimer field that describes this assumption. For real financing quotes tied to a specific lender or applicant profile, the API does not currently expose that data.