Discover/PCARMARKET API
live

PCARMARKET APIpcarmarket.com ↗

Access live and completed PCARMARKET auction data: current bids, vehicle specs, seller info, gallery images, and sale outcomes via 3 structured endpoints.

Endpoint health
monitored
list_live_auctions
get_listing_details
get_auction_results
0/3 passing latest checkself-healing
Endpoints
3
Updated
21d ago

What is the PCARMARKET API?

The PCARMARKET API exposes 3 endpoints covering live auction listings, full vehicle detail, and completed auction results from pcarmarket.com. The get_listing_details endpoint returns over a dozen fields per listing including VIN, make, model, year, engine description, seller username, and a full photo gallery. The get_auction_results endpoint lets you page through sold and unsold lots with final bids and sale outcomes.

This call costs1 credit / call— charged only on success
Try it
1-based page number of the ending-soonest ordering.
Number of auctions per page; values above 100 are clamped to 100.
→ api.parse.bot/scraper/51db8df3-8aae-4da7-9648-d52f42278f47/<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/51db8df3-8aae-4da7-9648-d52f42278f47/list_live_auctions?page=2&limit=3' \
  -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 pcarmarket-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: PCARMARKET SDK — browse live auctions, drill into details, and review past results."""
from parse_apis.pcarmarket_com_api import PcarMarket, ResultType, InputNotFound

client = PcarMarket()

# Browse the first few live auctions ending soonest.
for auction in client.listing_summaries.list(limit=5):
    print(auction.title, f"${auction.high_bid or 0:,.0f}", auction.reserve_status)

# Drill down: take the first listing summary and fetch its full detail.
summary = client.listing_summaries.list(limit=1).first()
if summary is not None:
    detail = summary.details()
    print(detail.title)
    print(f"  Year/Make/Model: {detail.year} {detail.make} {detail.model}")
    print(f"  VIN: {detail.vin}")
    print(f"  Mileage: {detail.mileage} {detail.odometer_unit}")
    print(f"  Transmission: {detail.transmission_detail}")
    print(f"  Exterior: {detail.exterior_color}  Interior: {detail.interior_color}")
    print(f"  Seller: {detail.seller} ({detail.seller_type}), {detail.location}")
    print(f"  Bids: {detail.bid_count}  Current: {detail.current_bid}")
    print(f"  Images: {detail.image_count}")

# Point lookup by slug derived from a previous result.
if summary is not None:
    try:
        listing = client.listings.get(slug=summary.slug)
        print(listing.title, listing.listing_url)
    except InputNotFound:
        print("Listing no longer available")

# Page through recent sold auction results.
for result in client.auction_results.list(result_type=ResultType.SOLD, limit=3):
    sold_label = f"${result.sold_price:,}" if result.sold_price else "unsold"
    print(result.title, sold_label, result.end_date)

print("exercised: listing_summaries.list / details / listings.get / auction_results.list")
All endpoints · 3 totalmissing one? ·

Returns one page of currently live (active) auctions on PCARMARKET, ordered by ending soonest, together with the total number of live auctions and whether more pages exist. Each item is a listing summary: title, current bid (formatted string and numeric high bid), bid count, hero image URL, listing page URL, year/make/model when the lot is a vehicle (non-vehicle lots such as watches or signs return null for those), mileage, seller ZIP/country and the auction start/end timestamps. Pagination is caller-driven via page and limit: omitting page returns the first page, omitting limit returns 24 items; limit is clamped to 100. Requesting a page past the last one yields a not-found input error. One upstream request per call.

Input
ParamTypeDescription
pageinteger1-based page number of the ending-soonest ordering.
limitintegerNumber of auctions per page; values above 100 are clamped to 100.
Response
{
  "type": "object",
  "fields": {
    "page": "page number served",
    "limit": "page size applied after clamping",
    "total": "total number of live auctions across all pages",
    "auctions": "array of listing summaries; each has listing_id, slug (pass to get_listing_details), title, listing_url, hero_image_url, current_bid (formatted, null when no bids), high_bid (number, null when no bids), bid_count, reserve_status, year/make/model (null for non-vehicle lots), mileage, odometer_unit, location_zip, country, status, start_date, end_date (ISO-8601 with offset), time_remaining_seconds",
    "has_more": "true when a following page exists"
  },
  "sample": {
    "data": {
      "page": 1,
      "limit": 3,
      "total": 55,
      "auctions": [
        {
          "make": "Porsche",
          "slug": "2009-porsche-911-carrera-cabriolet-8",
          "year": 2009,
          "model": "911 Carrera Cabriolet",
          "title": "44k-Mile 2009 Porsche 997.2 Carrera Cabriolet",
          "status": "Active",
          "country": "United States of America",
          "mileage": 44000,
          "end_date": "2026-09-08T14:30:00-04:00",
          "high_bid": 9002,
          "bid_count": 1,
          "listing_id": 67463,
          "start_date": "2026-08-31T13:39:36-04:00",
          "current_bid": "$9,002",
          "listing_url": "https://www.pcarmarket.com/auction/2009-porsche-911-carrera-cabriolet-8",
          "location_zip": "20109",
          "odometer_unit": "mi",
          "hero_image_url": "https://d2niwqq19lf86s.cloudfront.net/htwritable/media/.thumbnails/ee0e7b75-a531-4828-9651-faba371e28ae-IMG_0591.webp/ee0e7b75-a531-4828-9651-faba371e28ae-IMG_0591-tiny-810x0.webp",
          "reserve_status": "unmet",
          "time_remaining_seconds": 177885
        }
      ],
      "has_more": true
    },
    "status": "success"
  }
}

About the PCARMARKET API

Live Auctions

The list_live_auctions endpoint returns a paginated feed of currently active auctions, ordered by soonest-ending. Each summary includes listing_id, slug, title, listing_url, hero_image_url, current bid as both a formatted string and a raw numeric current_bid, bid count, and end time. The page and limit parameters control pagination; limit is clamped at 100. The response also surfaces total (count of all live lots) and has_more so you can walk every active listing.

Listing Detail

Pass any slug from the live auctions feed — or the trailing path segment of any listing URL — to get_listing_details. The response covers vehicle identity fields (vin, make, model, year), engine (extracted from the listing write-up, may be null for some lots), seller username, country, auction status, and a full image gallery alongside the hero image and opening paragraph. Non-vehicle lots return null for the vehicle-specific fields.

Completed Auction Results

The get_auction_results endpoint returns completed lots in fixed pages of 36, most recently ended first. The result_type parameter filters between sold lots (default) and unsold lots whose reserve was not met. Each result item includes slug, url, final bid amount, and sale outcome. The response envelope exposes items_total and pages_total so you can determine the full scope of historical results before paginating.

Reliability & maintenance

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

Latest check
0/3 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
  • Track real-time bidding activity on Porsche auctions by polling list_live_auctions for current bid and bid count changes
  • Build a sold-prices database for specific makes and models using get_auction_results with the sold result_type filter
  • Identify reserve-not-met lots by querying get_auction_results with the unsold filter and comparing final bids
  • Enrich vehicle records with VIN, engine description, and seller country from get_listing_details
  • Monitor gallery image assets per listing to populate a vehicle media archive using the photo gallery returned by get_listing_details
  • Aggregate auction close times from live listing end times to analyze when PCARMARKET lots typically expire
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 PCARMARKET have an official developer API?+
PCARMARKET does not publish a documented public developer API. This Parse API provides structured access to auction data from pcarmarket.com.
What does `get_auction_results` return for unsold lots, and how do I request them?+
Set the result_type parameter to the unsold value to retrieve lots whose reserve was not met. Each result item includes the final bid reached and the sale outcome alongside the slug and listing URL. Sold lots are the default when result_type is omitted.
Does the API expose the full auction write-up or description text?+
The get_listing_details endpoint returns an opening paragraph from the listing and a best-effort engine field extracted from the write-up. The complete long-form description body is not currently a distinct response field. You can fork this API on Parse and revise it to extract and return the full description text.
Can I filter live auctions by make, model, or price range?+
The list_live_auctions endpoint returns all active lots ordered by end time and does not currently accept make, model, or bid-range filter parameters. You can fork this API on Parse and revise it to add filtering logic over the returned fields.
How fresh is the data returned by `list_live_auctions`?+
Bid counts and current bid values reflect the state of pcarmarket.com at the time of each request. There is no caching layer documented in this API, so successive calls will reflect the latest published bid state.
Page content last updated . Spec covers 3 endpoints from pcarmarket.com.
Related APIs in AutomotiveSee all →