Discover/PartSouq API
live

PartSouq APIpartsouq.com

Search PartSouq for genuine and aftermarket parts by OEM part number, or resolve a VIN/frame number to vehicle details and catalogue groups.

Endpoint health
verified 2h ago
search_parts
lookup_vehicle
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the PartSouq API?

The PartSouq API exposes 2 endpoints covering OEM parts search and vehicle identification. The search_parts endpoint returns every offer card for a given part number — including price, availability, country of origin, and cross-referenced substitutions — while lookup_vehicle resolves a VIN or chassis number to a specific vehicle and its full parts-catalogue group tree.

This call costs1 credit / call— charged only on success
Try it
OEM part number as printed by the manufacturer, e.g. 631138H700. Spaces and hyphens are passed to the site unchanged.
api.parse.bot/scraper/e368741f-5f84-4ad7-9ab0-e36bba5a761d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/e368741f-5f84-4ad7-9ab0-e36bba5a761d/search_parts?part_number=631138H700' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 partsouq-com-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: PartSouq SDK — search parts by OEM number, resolve a VIN."""
from parse_apis.partsouq_com_api import PartSouq, InputFormatInvalid

client = PartSouq()

# Search for a Nissan fender by OEM part number.
listing = client.parts.search(part_number="631138H700")
print(f"Search: {listing.query} — {len(listing.results)} result(s)")
for part in listing.results:
    print(f"  {part.part_name}  {part.brand}  ${part.price} {part.currency}  "
          f"qty={part.availability_quantity}  [{part.stock_type}]")

# Show substitutions (alternative parts) when available.
if listing.substitutions:
    print(f"Substitutions: {len(listing.substitutions)}")
    for sub in listing.substitutions:
        print(f"  {sub.part_number} — {sub.part_name}  ${sub.price} {sub.currency}")

# Resolve a VIN to a vehicle and its catalogue groups.
try:
    catalog = client.vehicles.lookup(vin="JTFJT02P0T5042785")
except InputFormatInvalid as e:
    print(f"Invalid VIN format: {e.message}")
    raise
if catalog.resolved and catalog.vehicle is not None:
    v = catalog.vehicle
    print(f"\nVehicle: {v.year} {v.make} {v.model} ({v.body_description})")
    print(f"  Engine: {v.engine_code}  Model code: {v.model_code}")
    for key, val in v.details.items():
        print(f"  {key}: {val}")

    # Browse top-level catalogue groups for the resolved vehicle.
    for grp in catalog.groups[:5]:
        print(f"  Group {grp.group_id}: {grp.name} ({grp.diagram_count} diagrams)")
else:
    # Multiple candidates — list them.
    print(f"Not resolved; {len(catalog.candidates)} candidate(s)")
    for c in catalog.candidates:
        print(f"  {c.year} {c.make} {c.model}")

print("\nexercised: parts.search / vehicles.lookup")
All endpoints · 2 totalmissing one? ·

Searches PartSouq by OEM part number and returns every offer card shown on the result page (one row per offer; the same part number may appear several times with different stock type, price, quantity and dispatch time). Each row carries part name, part number, brand/make, country of manufacture (made_in), available quantity, dispatch/processing time text as displayed (one shape is 'Dispatch within 24h'; stock offers show a processing window such as '2-3 days'), price with ISO currency code (prices are quoted in USD unless the site changes its default currency), the compatibility model list, and part_url, the site's canonical page for that part number. substitutions holds the cards under the page's 'Substitutions' heading (alternative part numbers with the same fields) and is an empty array when the site shows none. A part number the site does not know returns success with empty results and substitutions. Single round trip; no pagination (the site shows all offers on one page).

Input
ParamTypeDescription
part_numberrequiredstringOEM part number as printed by the manufacturer, e.g. 631138H700. Spaces and hyphens are passed to the site unchanged.
Response
{
  "type": "object",
  "fields": {
    "query": "the part number searched, as sent",
    "results": "array of offer rows for the searched part number: part_name, part_number, brand, made_in (country), availability_quantity (integer units in stock), dispatch_time (display text), price (number), currency (ISO code), product_id (site offer id), stock_type ('express' or 'normal'), compatibility (array of model names), part_url",
    "search_url": "PartSouq result page URL for this query",
    "substitutions": "array of alternative-part offer rows from the Substitutions section, same row shape as results; empty when the site shows none"
  },
  "sample": {
    "data": {
      "query": "631138H700",
      "results": [
        {
          "brand": "Nissan",
          "price": 282.92,
          "made_in": "Japan",
          "currency": "USD",
          "part_url": "https://partsouq.com/en/search/all?q=631138H700",
          "part_name": "FENDER-FRONT,LH",
          "product_id": "18256141",
          "stock_type": "express",
          "part_number": "631138H700",
          "compatibility": [
            "X-Trail"
          ],
          "dispatch_time": "Dispatch within 24h",
          "availability_quantity": 5
        },
        {
          "brand": "Nissan",
          "price": 256.67,
          "made_in": "Japan",
          "currency": "USD",
          "part_url": "https://partsouq.com/en/search/all?q=631138H700",
          "part_name": "FENDER-FRONT,LH",
          "product_id": "1177702",
          "stock_type": "normal",
          "part_number": "631138H700",
          "compatibility": [
            "X-Trail"
          ],
          "dispatch_time": "2-3 days",
          "availability_quantity": 6
        }
      ],
      "search_url": "https://partsouq.com/en/search/all?q=631138H700",
      "substitutions": [
        {
          "brand": "FPI",
          "price": 39.47,
          "made_in": "China",
          "currency": "USD",
          "part_url": "https://partsouq.com/en/search/all?q=NSF171LA",
          "part_name": "FENDER W/O MIR HLE- LH",
          "product_id": "16652156",
          "stock_type": "normal",
          "part_number": "NSF171LA",
          "compatibility": [],
          "dispatch_time": "4-5 days",
          "availability_quantity": 0
        }
      ]
    },
    "status": "success"
  }
}

About the PartSouq API

Parts Search

The search_parts endpoint accepts a single part_number parameter (OEM number as printed by the manufacturer, e.g. 631138H700) and returns two arrays: results, containing every offer row for the searched number, and substitutions, containing alternative-part offers from PartSouq's Substitutions section. Each row in both arrays includes part_name, part_number, brand, made_in (country of manufacture), and availability_quantity. The search_url field gives you the canonical PartSouq result page URL for the query. When the site shows no substitutions, substitutions is an empty array.

Vehicle Lookup & Catalogue Groups

The lookup_vehicle endpoint accepts a vin parameter — either a standard 17-character VIN or a shorter chassis/frame number (5–25 characters, case-insensitive). When the site resolves the input to exactly one vehicle, resolved is true and the vehicle object is populated with make, region, year, model, model_code, engine_code, body_code, and body_description. The groups array contains every catalogue group for that vehicle, each with group_id, name, parent, depth, diagram_count, and url. When the search matches multiple vehicles without resolving to one, resolved is false, groups is empty, and the candidates array lists the ambiguous matches with make, region, year, model, model_code, details, and url.

Data Coverage Notes

PartSouq lists both genuine OEM parts and aftermarket alternatives sourced from sellers across multiple countries; made_in reflects the manufacturing origin of each offer rather than the seller's location. The catalog_url field in lookup_vehicle responses always points to the PartSouq page the lookup landed on, which is useful for deep-linking users into the catalogue.

Reliability & maintenanceVerified

The PartSouq API is a managed, monitored endpoint for partsouq.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when partsouq.com 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 partsouq.com 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.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Match an OEM part number to current stock offers and compare availability quantities across suppliers.
  • Identify cross-reference substitutions for discontinued or hard-to-find part numbers using the substitutions array.
  • Resolve a customer's VIN to make, model, year, and engine code before generating a parts quote.
  • Walk a vehicle's full catalogue group tree to present structured parts navigation in a repair application.
  • Verify country of manufacture for import compliance checks using the made_in field on each offer row.
  • Build a VIN-to-parts workflow by chaining lookup_vehicle (for group discovery) with search_parts (for live offers).
  • Flag ambiguous VIN lookups to users by checking the candidates array when resolved is false.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does PartSouq have an official developer API?+
PartSouq does not publish an official public developer API. There is no documented REST or GraphQL interface listed on partsouq.com for third-party developers.
What does `search_parts` return when the same part number has multiple offers?+
Each offer is returned as a separate row in the results array. A single part number can appear multiple times, differing by stock type, price, quantity, and dispatch time. The substitutions array is a parallel set of rows for alternative part numbers PartSouq associates with your query — same shape, separate array.
What happens with `lookup_vehicle` if the VIN matches more than one vehicle?+
resolved is set to false, the vehicle object is absent, and groups is an empty array. The candidates array is populated with each matching vehicle entry including make, region, year, model, model_code, details, and url, so your application can present the options to the user.
Does the API return individual part diagrams or exploded-view images?+
Not currently. The lookup_vehicle endpoint returns catalogue groups with a diagram_count field and group url, but does not return the diagram images or the individual part positions within a diagram. You can fork this API on Parse and revise it to add an endpoint that fetches parts and diagrams for a specific group URL.
Does `search_parts` return seller ratings or historical price data?+
Not currently. The results rows cover part_name, part_number, brand, made_in, and availability_quantity but do not include seller ratings or price history. You can fork this API on Parse and revise it to capture additional offer fields if they appear on the result page.
Page content last updated . Spec covers 2 endpoints from partsouq.com.
Related APIs in AutomotiveSee all →
car-part.com API
Search for recycled auto parts across thousands of vehicles and get detailed information on pricing, availability, and specifications from car-part.com. Find the exact parts you need with comprehensive search metadata and individual part details to compare options and locate the best deals.
bildelsbasen.se API
Find and browse used car parts from Bildelsbasen's inventory by vehicle make, model, registration number, or OEM part number. Get detailed information about available dismantled parts, including pricing and specifications from listed companies.
autodoc.co.uk API
Find auto parts and check compatibility with your vehicle by browsing makes, models, and engines, then search for parts with detailed specifications and discover equivalent alternatives. Get everything you need to identify the right replacement parts for any car in the Autodoc catalog.
autodoc.es API
Browse vehicle makes, models, and variants on Autodoc.es, then search for specific auto parts by keyword or part number. Retrieve category listings with pricing, full part specifications, OE cross-reference numbers, and vehicle fitment data to compare options and verify compatibility.
amayama.com API
Search and browse genuine OEM car parts across major brands like Toyota, Nissan, Honda, BMW, and Mercedes-Benz, with instant access to pricing, availability, shipping information, and vehicle compatibility details. Find the exact parts you need by brand, model, and frame, complete with comprehensive part specifications and stock status.
hondapartsnow.com API
Find and purchase genuine Honda parts and accessories by browsing your vehicle's year, model, and trim, or by searching parts directly and looking up components by VIN number. Manage your shopping experience with real-time cart updates and access to detailed part information across all available Honda categories.
napaonline.com API
Search NAPA Auto Parts' catalog to find compatible parts by vehicle type, get detailed product information with reviews, and discover similar products all in one place. Browse by vehicle year, make, and model to quickly locate the right parts and read what other customers think about them.
oreillyauto.com API
Search O'Reilly Auto Parts inventory by product or vehicle compatibility to find parts, check real-time pricing and availability, and locate nearby stores. Discover the right parts for your specific vehicle year, make, and model with detailed product information and pricing.