Discover/Ferrari API
live

Ferrari APIpreowned.ferrari.com

Search and retrieve preowned Ferrari listings worldwide. Get specs, pricing, dealer info, and inventory data via 5 structured API endpoints.

Endpoint health
verified 5d ago
list_countries
list_models
list_dealers
get_vehicle_details
search_listings
5/5 passing latest checkself-healing
Endpoints
5
Updated
21d ago

What is the Ferrari API?

The preowned.ferrari.com API provides access to Ferrari's official certified preowned marketplace through 5 endpoints covering inventory search, vehicle details, model catalogs, country coverage, and authorized dealer directories. The search_listings endpoint accepts filters for model, price range, production year, and country, returning VINs, ad IDs, pagination metadata, and available filter facets. The get_vehicle_details endpoint expands any ad ID into full specification sheets, option lists, images, and dealer contact data.

Try it
Page number (0-indexed)
Sort order for results.
Number of results per page (max 24)
Locale for results (e.g., 'en-US', 'en-EN')
Comma-separated model slugs to filter by (e.g., 'F8 CP,F171'). Slugs available from list_models endpoint.
Maximum production year filter
Maximum price filter (in local currency)
Comma-separated country slugs to filter by (e.g., 'US,IT,DE'). Slugs available from list_countries endpoint.
Minimum production year filter
Minimum price filter (in local currency)
api.parse.bot/scraper/2acfe330-1a3e-4d34-806b-ecdd95525bd7/<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 POST 'https://api.parse.bot/scraper/2acfe330-1a3e-4d34-806b-ecdd95525bd7/search_listings' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "page": "0",
  "sort": "price-asc",
  "limit": "3",
  "locale": "en-US",
  "models": "F171",
  "year_to": "2026",
  "price_to": "1000000",
  "countries": "AU",
  "year_from": "2020",
  "price_from": "100000"
}'
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 preowned-ferrari-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.

from parse_apis.ferrari_preowned_catalog_api import Ferrari, Sort, Country

ferrari = Ferrari()

# Search for recent Ferraris sorted by price
for listing in ferrari.listings.search(sort=Sort.PRICE_ASC, year_from=2022, countries="US", limit=5):
    print(listing.car_name, listing.year, listing.price, listing.vin)

# List all available models
for model in ferrari.models.list():
    print(model.name, model.slug, model.count)

# List countries and get dealers for a specific one
for country in ferrari.countries.list(limit=3):
    print(country.name, country.slug, country.region)

# Get dealers for a specific country using constructible resource
us = ferrari.country("US")
for dealer in us.dealers.list():
    print(dealer.name, dealer.url, dealer.options.showroom)
All endpoints · 5 totalmissing one? ·

Search preowned Ferrari listings with optional filters for country, model, price range, year range, and sort order. Returns vehicle summaries with VINs, pricing, dealer info, and pagination. Also returns available filter options (models, countries, price/year ranges). Results are paginated with a 0-indexed page parameter.

Input
ParamTypeDescription
pageintegerPage number (0-indexed)
sortstringSort order for results.
limitintegerNumber of results per page (max 24)
localestringLocale for results (e.g., 'en-US', 'en-EN')
modelsstringComma-separated model slugs to filter by (e.g., 'F8 CP,F171'). Slugs available from list_models endpoint.
year_tointegerMaximum production year filter
price_tointegerMaximum price filter (in local currency)
countriesstringComma-separated country slugs to filter by (e.g., 'US,IT,DE'). Slugs available from list_countries endpoint.
year_fromintegerMinimum production year filter
price_fromintegerMinimum price filter (in local currency)
Response
{
  "type": "object",
  "fields": {
    "ads": "array of vehicle listing summaries with id, carName, year, price, vin, model, country, dealer, odometer, images",
    "filters": "object with available filter options including models, countries, year, price ranges",
    "pagination": "object with total, pages, limit"
  },
  "sample": {
    "data": {
      "ads": [
        {
          "id": "IljixbcgVnJGsKsQfDGsrnOSbXS9811FIz1VbtZdQTh5aOy0FeoHkLy5aKXAzu%2BauIYTHC%2FX4hVH2kH%2Ft%2F3xCRa37ulnLX0XazGAE79KGQ%3D%3D",
          "vin": "ZFF09RPA3R0308139",
          "year": 2024,
          "model": {
            "name": "Ferrari Roma Spider",
            "slug": "F169S"
          },
          "power": "620",
          "price": 335900,
          "dealer": {
            "city": "Lake Bluff",
            "name": "Ferrari Lake Forest",
            "slug": "007007",
            "country": "US"
          },
          "engine": "V8 – 90° – twin turbo",
          "carName": "Ferrari Roma Spider",
          "country": {
            "name": "USA",
            "slug": "US",
            "region": "NA"
          },
          "odometer": 682,
          "priceUnit": "USD",
          "trimColor": "Crema",
          "odometerUnit": "mi",
          "exteriorColor": "Blu Corsa",
          "ferrariApproved": true
        }
      ],
      "filters": {
        "models": {
          "options": [
            {
              "name": "296 GTB",
              "slug": "F171",
              "count": 351
            }
          ]
        }
      },
      "pagination": {
        "limit": 24,
        "pages": 120,
        "total": 2879
      }
    },
    "status": "success"
  }
}

About the Ferrari API

Inventory Search and Filtering

The search_listings endpoint accepts a POST body with parameters including models (comma-separated model slugs), countries (country slugs), price_to, year_to, sort (price-asc, price-desc, or year-asc), limit, and page. Results include an ads array of vehicle summaries with VINs and ad IDs, a pagination object containing total, pages, and limit, and a filters object reflecting available facets for the current result set. Model slugs and country slugs required for filtering come from the list_models and list_countries endpoints respectively.

Vehicle Detail Records

The get_vehicle_details endpoint accepts one or more comma-separated ad IDs from search results and returns a detailed record per vehicle. Each record includes the full specification sheet, a list of factory-fitted optional features, an image gallery, and dealer contact information — significantly more data than the search summary. Pass a locale parameter (e.g., en-US) to control language and regional formatting of returned content.

Reference Data: Models, Countries, and Dealers

Three supporting GET endpoints provide the reference data needed to build well-formed queries. list_models returns an array of model objects each with slug, name, count, and slugSeo, reflecting only models that have active listings. list_countries returns country objects with slug, name, region, count, and slugSeo. list_dealers requires a country slug and returns authorized Ferrari dealers for that country, including name, url, image, and a boolean options object indicating whether the dealer offers service, showroom, bodyshop, and classiche capabilities.

Reliability & maintenanceVerified

The Ferrari API is a managed, monitored endpoint for preowned.ferrari.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when preowned.ferrari.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 preowned.ferrari.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
5d ago
Latest check
5/5 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
  • Build a cross-country price comparison tool for specific Ferrari models using search_listings with models and countries filters
  • Track preowned inventory levels per model over time by polling list_models and monitoring the count field
  • Aggregate full specification sheets and option lists for a given model by batch-fetching ad IDs through get_vehicle_details
  • Map authorized Ferrari dealers by country and filter by showroom or classiche flags from list_dealers
  • Feed a custom vehicle alert system that monitors new listings in a specific country and year range using search_listings with year_to and countries
  • Power a research dashboard comparing option configurations across preowned listings using the optionals fields from get_vehicle_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does preowned.ferrari.com have an official public developer API?+
Ferrari does not publish a public developer API for its preowned marketplace. The preowned.ferrari.com site is consumer-facing with no documented developer access. This Parse API provides structured programmatic access to the same inventory data.
What does `get_vehicle_details` return beyond what `search_listings` provides?+
search_listings returns lightweight summaries — VINs, ad IDs, and pagination info — suitable for browsing. get_vehicle_details expands each ad ID into a full specification sheet, a list of factory-fitted optional features, a multi-image gallery, and structured dealer contact information including URL and service capability flags. You should first retrieve ad IDs from search_listings, then pass those IDs to get_vehicle_details to get the full record.
How does pagination work in `search_listings`?+
The endpoint uses 0-indexed page numbers via the page parameter. The response pagination object returns total (total matching listings), pages (total page count), and limit (results per page). Set limit to control page size, and increment page to walk through result sets. No cursor tokens are used — standard integer offsets only.
Does the API return historical sold listings or auction results?+
Not currently. The API covers active preowned listings on the Ferrari certified preowned marketplace, including specifications, pricing, and dealer data for currently available vehicles. Historical transaction records and sold listings are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting any historical data surface that becomes available.
Are private seller listings included, or only authorized dealer inventory?+
The marketplace at preowned.ferrari.com lists vehicles through Ferrari's authorized dealer network. The list_dealers endpoint reflects this — it returns dealers with flags for showroom, service, bodyshop, and classiche, and search_listings results correspond to inventory held by those dealers. Private party listings are not part of the source marketplace, so they are not covered here. You can fork the API on Parse and revise it if you need to incorporate inventory from a different source.
Page content last updated . Spec covers 5 endpoints from preowned.ferrari.com.
Related APIs in AutomotiveSee all →
finder.porsche.com API
Search and compare Porsche vehicles across dealer listings to find detailed pricing, specifications, equipment, and technical data all in one place. Get comprehensive vehicle history reports and filter options to quickly narrow down your ideal Porsche match.
cars.com API
Search for vehicles on Cars.com using filters like price, make, and model, then get detailed specifications and dealer inventory information for any listing you're interested in. Access comprehensive vehicle details including pricing, features, and dealer contact information all in one place.
exoticcartrader.com API
Search and browse exotic, collector, and classic car listings with detailed vehicle information including specs, VIN numbers, photos, and lot details. Discover featured vehicles by make or category, read expert reviews, and stay updated with industry blog posts all in one place.
autotrader.com API
Search Autotrader.com vehicle listings and access detailed information like pricing, specifications, and VIN data with flexible filtering options. Browse all available vehicle makes and models to refine your search across thousands of listings.
carfax.com API
carfax.com API
carsforsale.com API
Search vehicle listings and browse detailed car inventory by make, model, and trim to find the perfect vehicle on CarsForSale.com. Access comprehensive listing details including pricing, specifications, and availability all in one place.
autoscout24.it API
Search for used and new cars across AutoScout24 Italy's inventory, view detailed listing information, and browse dealer profiles. Filter vehicles by make and model to find exactly what you're looking for in the Italian automotive market.
carvana.com API
Search Carvana's used car inventory by make, model, price, fuel type, and more. Retrieve paginated listings with pricing, specs, and delivery details, or fetch comprehensive information for a specific vehicle by ID.