Bildelsbasen APIbildelsbasen.se ↗
Access Bildelsbasen's dismantled car parts catalog via API. Browse by make, model, category, OEM number, or registration plate. Includes dismantler company listings.
What is the Bildelsbasen API?
The Bildelsbasen API provides structured access to Sweden's used car parts marketplace through 9 endpoints covering the full catalog hierarchy from make and model down to individual part detail. The get_makes endpoint returns all available car brands with availability flags, while search_by_registration resolves a Nordic plate number to vehicle specs including fuel type, engine code, and body type — enabling direct part lookups without manual model selection.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/46a56823-df87-4cd9-9e90-f5deda7deeb9/get_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 bildelsbasen-se-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.
from parse_apis.bildelsbasen_api import Bildelsbasen, Country, MakeNotFound
client = Bildelsbasen()
# List all available car makes
for make in client.makes.list(limit=5):
print(make.vt1, make.exist, make.popular)
# Construct a Make and browse its models
audi = client.make(vt1="Audi")
for model in audi.models.list(limit=3):
print(model.vt2, model.popular, model.exist)
# Navigate into a model's part categories and subcategories
model = audi.models.list(limit=1).first()
if model:
for category in model.categories.list(limit=3):
print(category.pt1, category.pc1, category.exist)
# Drill into subcategories for a specific category
for group in model.subcategories(category="Motor", limit=3):
print(group.pt1, group.pc1)
for sub in group.subcategory:
print(" ", sub.pt2, sub.pc2)
# Look up a vehicle by registration plate using the Country enum
vehicle = client.vehicles.lookup(plate_number="ABC123", country=Country.SE)
print(vehicle.plate_number, vehicle.country, vehicle.found)
# List dismantler companies with typed error handling
try:
for company in client.companies.list(limit=3):
print(company.name, company.review.recommend, company.visit.postal_city)
except MakeNotFound as exc:
print(f"not found: {exc}")
print("exercised: makes.list / models.list / categories.list / subcategories / vehicles.lookup / companies.list")
Returns all car makes/brands available on the site. Each make includes a numeric identifier (vc1), display name (vt1), popularity flag, and whether parts currently exist in inventory. Results are sorted alphabetically by default. Use the vt1 value as the make parameter in subsequent calls.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of make objects each with vc1, vt1, exist, and popular fields",
"total": "integer total number of makes"
},
"sample": {
"data": {
"items": [
{
"vc1": 100,
"vt1": "AC Cobra",
"exist": false,
"popular": false
},
{
"vc1": 106,
"vt1": "Audi",
"exist": true,
"popular": true
},
{
"vc1": 204,
"vt1": "Volvo",
"exist": true,
"popular": true
}
],
"total": 137
},
"status": "success"
}
}About the Bildelsbasen API
Catalog Navigation
The API exposes a four-level hierarchy for browsing dismantled parts. get_makes returns every available brand with a popularity indicator and an exist flag showing whether live inventory is present. From there, get_models accepts a make name and returns model identifiers including vc1, vc2, vt1, and vt2 codes. The vt2 value is the required model parameter for downstream calls. get_part_categories then returns top-level part categories (with pc1 IDs, pt1 names, and image URLs) for any make/model pair, and get_part_subcategories drills into a specific category to return the full subcategory tree — pc2 IDs, pt2 names, and article arrays with individual part types.
Vehicle and Part Lookup
search_by_registration accepts a plate number and an optional country code (SE, NO, DK, IS) and returns structured vehicle data including VIN, fuel type, body type, engine power, and engine code. The total field is 0 when a plate is not found and 1 when matched, making it straightforward to gate downstream logic. search_parts supports filtering by OEM part number alongside other parameters, and get_part_detail retrieves full details for a single part by its internal ID. get_all_parts_from_vehicle lists every available part from a specific dismantled vehicle using its vpost_id.
Dismantler Directory
get_companies returns a paginated list of affiliated dismantler companies sorted by rating. Each company record includes name, logo, address, phone number, business hours, and review statistics. Pagination is controlled via limit and offset parameters. The total field in the response reflects the full count of companies available across all pages.
The Bildelsbasen API is a managed, monitored endpoint for bildelsbasen.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bildelsbasen.se 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 bildelsbasen.se 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 part-finder tool that resolves a Swedish or Norwegian plate number to vehicle specs and then presents matching dismantled parts
- Index the full Bildelsbasen parts hierarchy (make → model → category → subcategory) for offline search or comparison
- Locate dismantler companies near a user by consuming the
get_companiesdirectory with contact details and business hours - Match OEM part numbers against the
search_partsendpoint to check cross-brand availability of specific components - Aggregate part availability by make and model using the
existflags fromget_makesand category-level data - Retrieve all parts stripped from a specific donor vehicle using
get_all_parts_from_vehiclewith a knownvpost_id - Display full part specifications and pricing from
get_part_detailinside an automotive repair cost estimator
| 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 Bildelsbasen have an official public developer API?+
What vehicle data does `search_by_registration` return, and which countries are supported?+
total field will be 0 in that case and 1 on a successful match.Does the API expose historical price data or sold-parts archives?+
get_part_detail and search_parts. Historical sales records and price history are not included. You can fork this API on Parse and revise it to add an endpoint targeting archived or completed listings if that data becomes accessible.What are the known limitations when navigating the category hierarchy?+
get_part_subcategories endpoint requires the pt1 name (not the pc1 ID) as its category parameter, and get_part_categories and downstream endpoints require the vt2 value from get_models rather than a free-form model name. Passing incorrect identifier types silently returns empty results rather than an error, so it is worth validating response values at each step before chaining calls.Can I filter the `get_companies` results by geographic region or specialty?+
get_companies returns companies sorted by rating and supports only limit and offset for pagination — there is no built-in filter for city, region, or vehicle specialty. Address data is included in each record, so region filtering can be applied client-side. You can also fork the API on Parse and revise it to add server-side geo filtering if needed.