Autodoc APIautodoc.es ↗
Access Autodoc.es vehicle makes, models, variants, and parts data. Search parts by keyword or number, get OE cross-references, pricing, and fitment lists.
What is the Autodoc API?
The Autodoc.es API covers 6 endpoints for navigating the Autodoc Spanish auto parts catalog — from vehicle selection down to individual part detail pages. Starting with get_vehicle_makes, you can drill through manufacturers, models, and engine variants to filter parts precisely. Part detail responses include OE cross-reference numbers, EAN barcodes, vehicle compatibility lists, pricing, and images, giving you the full data needed to verify fitment and compare options programmatically.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/9c78ad41-8cdd-4c24-979f-3924df4608f8/get_vehicle_makes' \ -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 autodoc-es-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: Autodoc parts API — vehicle tree drill-down + part search + detail fetch."""
from parse_apis.autodoc_auto_parts_api import Autodoc, PartNotFound
client = Autodoc()
# List all vehicle manufacturers, pick Volkswagen by scanning the first few.
for maker in client.makers.list(limit=5):
print(maker.name, maker.id, maker.euro_reg)
# Construct a known maker (VW, id=121) and list its models.
vw = client.maker(id=121)
golf = vw.models.list(limit=1).first()
if golf:
print(golf.name, golf.group)
# Drill into engine variants for that model.
for variant in golf.variants.list(limit=3):
print(variant.name, variant.fuel_type)
# Search parts by Spanish keyword — results grouped by type.
groups = client.searchresultgroups.search(keyword="disco de freno", limit=3)
for group in groups:
print(group.group_title, group.group_type, len(group.items))
# List brake-disc parts from the category page.
listing = client.partlistings.list_by_category(category_slug="disco-de-freno-10132", limit=3).first()
if listing:
print(listing.part_number, listing.brand_name, listing.price, listing.currency)
# Fetch full details for a known part — specs, OE numbers, fitment.
try:
part = client.parts.get(article_id="1657459", brand_slug="brembo")
print(part.name, part.price, part.currency)
for spec in part.specifications[:3]:
print(spec.name, spec.value)
for oe in part.oe_numbers[:2]:
print(oe.oe_number, oe.brands)
except PartNotFound as exc:
print(f"Part not found: {exc}")
print("exercised: makers.list / models.list / variants.list / search / list_by_category / parts.get")
Retrieve all vehicle manufacturers available in the catalog. Returns makers grouped by popularity (top 10 recognized) and alphabetically. Each maker carries an ID usable with get_vehicle_models to drill into that manufacturer's model tree.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer total number of makers across all groups",
"makers": "array of maker objects each with id (int), name (string), group (string label such as 'Los fabricantes más reconocidos'), euro_reg (boolean), synonyms (array of strings)"
},
"sample": {
"data": {
"total": 186,
"makers": [
{
"id": 16,
"name": "BMW",
"group": "Los fabricantes más reconocidos",
"euro_reg": true,
"synonyms": []
},
{
"id": 121,
"name": "VOLKSWAGEN",
"group": "Los fabricantes más reconocidos",
"euro_reg": true,
"synonyms": [
"Volkswagen",
"Volkswagen",
"Volkswagen"
]
}
]
},
"status": "success"
}
}About the Autodoc API
Vehicle Hierarchy Navigation
get_vehicle_makes returns every manufacturer in the Autodoc catalog as a flat list with IDs, grouped by popularity. Pass a maker_id (e.g. 121 for Volkswagen, 16 for BMW) to get_vehicle_models to get all model series with date ranges in their names. From there, get_vehicle_variants accepts a model_id and returns engine-specific variants grouped by fuel type, each with power specs and euro regulation data. None of these three endpoints require pagination — all results are returned in a single call.
Parts Search and Category Listings
search_parts accepts a Spanish keyword or an exact part number as the keyword parameter. Spanish terms like pastillas de freno (brake pads) or disco de freno (brake disc) return grouped autocomplete results with thumbnails, URLs, and article_id values. Part number searches bypass language and return direct matches. get_category_parts takes a category_slug (e.g. disco-de-freno-10132) and an optional car_slug (e.g. vw/golf/golf-v-variant-1k5/23263-1-4) to filter results to a specific vehicle. The response includes per-part fields: article_id, part_number, brand_name, price, rrp_price, currency, and category_name, with pagination via the page parameter.
Part Detail Data
get_part_details requires both an article_id and a brand_slug to identify a product page uniquely. The response surfaces the full picture for a part: oe_numbers (an array of OE number strings with associated brand arrays for cross-referencing), ean, sku, images, price, rrp_price, and a vehicle compatibility list. This makes it straightforward to check whether a part fits a specific vehicle or to find equivalent OEM numbers from multiple manufacturers.
The Autodoc API is a managed, monitored endpoint for autodoc.es — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when autodoc.es 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 autodoc.es 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 vehicle-to-parts lookup tool using the maker → model → variant → category chain
- Cross-reference aftermarket part numbers against OE numbers using the
oe_numbersfield fromget_part_details - Monitor price and RRP changes for specific
article_idvalues across categories - Populate a parts catalog with brand, category, fitment, and image data from
get_part_details - Search by exact part number to resolve a known reference to a full product record with specs and compatibility
- Filter category listings by
car_slugto show only parts confirmed to fit a specific vehicle variant - Aggregate vehicle compatibility lists to determine which models a given aftermarket part covers
| 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 Autodoc have an official developer API?+
What does `get_part_details` return beyond price, and how do OE cross-references work?+
get_part_details returns the oe_numbers array, where each entry contains an OE number string and a brands array naming the original-equipment manufacturers that use that number. It also returns ean, sku, images, rrp_price, and a vehicle compatibility list. This lets you match an aftermarket part to multiple OEM references in a single call.Does the search work in languages other than Spanish?+
search_parts endpoint is optimized for Spanish keywords because the underlying catalog is in Spanish. English terms may return incomplete or no results. Exact part numbers (e.g. 09.9167.11) are language-agnostic and return direct matches regardless of the term used.Are user reviews or seller ratings available through this API?+
Can I retrieve parts for multiple vehicles in a single `get_category_parts` call?+
get_category_parts accepts one car_slug per call, filtering results to a single vehicle variant. To aggregate results across multiple vehicles, you would call the endpoint once per vehicle. You can fork this API on Parse and revise it to batch those calls or merge results in a wrapper endpoint.