integrations.sh
← all integrations

CIS Automotive API

OpenAPI apis-guru ecommerce
This API provides access to our Automotive Data. Use of this API is subject to our
 

For a quick start guide

 
If you signed up through RapidAPI make your test calls
 
The general workflow is to:
 
1. Authenticate with your CIS Automotive API Keys to get a Json Web Token (JWT). Do not use RapidAPI keys.
2. Then use that token as an argument when calling other endpoints.
 
Equivalent HTTP GET and POST methods are available for some endpoints.
 
Endpoints may appear more than once on this page if they are associated with multiple tags. eg "Sales Data", "Premium", "Pro Plan or Greater" To see which endpoints are included in different plans look under the "X Plan or Greater" tags for the respective plan name.
 

If you signed up for our API through RapidAPI you can make your test calls . Your RapidAPI credentials will not work on this page.

Do not use your RapidAPI keys on this page.

If you signed up with us and have an account, you must first authenticate with your API Keys and retrieve a Json Web Token (JWT) from the /getToken endpoint to access the other endpoints.

Your JWT is a required argument to all endpoints.

Homepage
https://api.apis.guru/v2/specs/autodealerdata.com/1.0.json
Provider
autodealerdata.com
OpenAPI version
3.0.2
Spec (JSON)
https://api.apis.guru/v2/specs/autodealerdata.com/1.0/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/autodealerdata.com/1.0/openapi.yaml

Tools (37)

Extracted live via the executor SDK.

  • authentication.getSubUserKeysGetSubUserKeysGet

    Get a list of your issued SubUser API Keys. Includes active and revoked keys.

  • authentication.makeSubUserKeyMakeSubUserKeyPost

    This endpoint is only fully available to users with a paid plan. Users on Basic or Trial plans may only create keys valid on the "localhost" domain. This endpoint creates an API key that can be embedded in frontend applications such as web pages that allow your users to directly make API calls. The "endpoints" value is an array of strings that name the allowed endpoints that may be called using the Sub User Key. Passing a "" value in the array will allow all endpoints that require a JWT (JSON Web Token) to be called by the Sub User Key. The keys are valid for as long as your account is valid or you revoke the Sub User Key. All API calls made by the Sub User Keys are billed to your account. Additionally you should not call this endpoint or the /revokeSubUserKey endpoint at a combined rate higher than once per second.

  • authentication.makeTokenGetTokenGet

    This is the first function you should call.

    If you are accessing our API through a third party provider they will handle authenticating to our API for you and you will not need call this function or retrieve a JSON Web Token.

    All other functions require the JSON Web Token (JWT) from this function to be incuded in their arguments. The value of the "token" field is the actual JWT and any other values in the returned JSON are metadata there for your convenience. Tokens are valid for a default of 1 hour (3600 seconds). If you try calling an API endpoint with a missing, invalid, or expired JWT it will return a HTTP 403 code. You would then need to call this end point to get a new token.

  • authentication.makeTokenGetTokenPost

    This is the first function you should call.

    If you are accessing our API through a third party provider they will handle authenticating to our API for you and you will not need call this function or retrieve a JSON Web Token.

    All other functions require the JSON Web Token (JWT) from this function to be incuded in their arguments. The value of the "token" field is the actual JWT and any other values in the returned JSON are metadata there for your convenience. Tokens are valid for a default of 1 hour (3600 seconds). If you try calling an API endpoint with a missing, invalid, or expired JWT it will return a HTTP 403 code. You would then need to call this end point to get a new token.

  • authentication.revokeSubUserKeyRevokeSubUserKeyPut

    Revoke a SubUser API Key with the given UUID. This action can not be undone.

  • dealershipData.getDealersGetDealersByIdGet

    Premium. Dealership information using the internal ID. Returns name, address, state, zipCode, and ID for a single dealer in the same format as the /getDealers endpoint. Dealer IDs are generally retrieved via the /getDealers or /getDealersByRegion endpoints.

  • dealershipData.getDealersGetDealersByRegionGet

    Premium. Dealership information in a given region. Returns name, address, state, zipCode, and IDs. Results are paginated with up to 30 results per page.

  • dealershipData.getDealersGetDealersGet

    Premium. Dealership information in a given zip code using the first 4 digits. Returns name, address, state, zipCode, and IDs. For example a call with the zip code 92701 would return dealers with zip codes in the range [92700, 92709]

  • pricingData.getAvgListPriceListPriceGet

    Average, median, standard deviation, and population variance of the ask price of new vehicles over the last 15 days for a given brand and region.

    The available brand and region names can be retrieved from their respective endpoints.

  • pricingData.getAvgSalePriceSalePriceGet

    Average, median, standard deviation, and population variance of the sale price of new vehicles over the last 15 days for a given brand and region.

    The available brand and region names can be retrieved from their respective endpoints.

  • pricingData.getModelSaleBucketsSalePriceHistogramGet

    Histogram of the sale price of vehicles over the last 45 days for a given model and region. Price buckets are grouped in units of $1000 The available brand, model, and region names can be retrieved from their respective endpoints.

  • salesData.getDealerSalesRegionDailySalesGet

    Get regional sales by brand and day. Most recent data is typically only 2 days old for this endpoint.

    The Day field is in YYYY-MM-DD format. For example if you wanted sales data from April 5th of 2020 the day field would be '2020-04-05'

    Data availability depends on region and goes back up to 2016.

  • salesData.getDealerSalesRegionSalesGet

    Premium. Get regional sales by brand and month, broken down by day. Most recent data is typically only 2 days old for this endpoint.

    The month field is in YYYY-MM-DD format. For example if you wanted sales data from April of 2020 the month field would be '2020-04-01'

    Data availability depends on region and goes back up to 2016.

  • salesData.getModelUsedDistModelYearDistGet

    Market share of used vehicles over the last 45 days by model and year. All values are relative to vehicles of the same model. For example: a percentOfMarket value of 25, year of 2017, and modelName of Camry means that 25% of used Camrys on the market in the given region over the last 45 days were from the 2017 model year.

  • salesData.getRegionBrandMarketShareGetRegionBrandMarketShareGet

    Market share of a given brand in a given region by number of vehicles sold over the last 45 days.

  • salesData.getRegionMarketShareGetRegionMarketShareGet

    Market share of a all brands in a given region by number of vehicles sold over the last 45 days.

  • salesData.getTopModelsTopModelsGet

    Sales ranking of different models by region over the last 45 days. The percentOfTopSales value is the percent of the top seller the model represents.

    For example: a value of 80% means that model sold 8 vehicles for every 10 of the top model sold.

    The other fields represent the model percent of X. The brandMarketShare field is that brand's market share of the region over the report's time interval.

  • staticData.getBrandNamesGetBrandsGet

    Get vehicle brand names.

    These names are used as arguments for other endpoints. The names are generally not case sensitive when used with other endpoints, but it is best practice to use the names returned by this endpoint without changes.

  • staticData.getModelNamesAllGetInactiveModelsGet

    Get all model names including discontinued models. Because these models are no longer built, or have very poor market performance they are not incuded in the normal getModels endpoint. Many users itterate through the model names with our new vehicle sales endpoints and waste some of their quota making self contradictory requests. This endpoint was created to aleviate the use case where someone requests information on new vehicle sales for a model that has not been sold new for a long, long, time.

    These names are used as arguments for other endpoints. The names are generally not case sensitive when used with other endpoints, but it is best practice to use the names returned by this endpoint without changes.

  • staticData.getModelNamesGetModelsGet

    Get brand model names for currently active models. This endpoint does not return model names that have been discontinued or have sold less than 10 vehicles in the last month and a half.

    These names are used as arguments for other endpoints. The names are generally not case sensitive when used with other endpoints, but it is best practice to use the names returned by this endpoint without changes.

  • staticData.getRegionsGetRegionsGet

    Get region names. These names are used as arguments for other endpoints. The names are generally not case sensitive when used with other endpoints, but it is best practice to use the names returned by this endpoint without changes.

  • supplyData.daysSupplyDaysSupplyGet

    Average, median, standard deviation, population variance, and whole region average of the days of supply left on dealer lots for a given brand and region. The average, median, stdDev, and pVar fields are calculated on a dealer by dealer basis while the whole region average treats the entire region like a single dealership. The average field may differ from the whole region average, especially when dealers are out of a given model.

    The available brand and region names can be retrieved from their respective endpoints.

  • supplyData.daysToSellDaysToSellGet

    Average, median, standard deviation, population variance, and whole region average of the number of days a vehicle spends on dealer lots for a given brand and region. The average, median, stdDev, and pVar fields are calculated on a dealer by dealer basis while the whole region average treats the entire region like a single dealership. The average field may differ from the whole region average.

    The available brand and region names can be retrieved from their respective endpoints.

  • vehicleData.getHistory2VehicleHistoryGet

    Premium. Provides a simple report detailing a vechicle's sales history at dealerships. Data includes the name of the dealership, dates it was for sale, price, new/used condition, mileage, dealership state, and dealership zip code. Data availability goes back to early 2016.

    If your use case involves checking if a vehicle has appeared on the open market on or after a given date see the /vehicleSeen endpoint.

  • vehicleData.getListings2Listings2Get

    Generic getter for listings supporting a wide array of selection criteria. This is the new primary listing endpoint and we will phase out the older listing endpoints over time. The other listing endpoints return the same data, but are more restrictive in the available geographic and vehicle selection criteria and can be replicated by this endpoint.

    Dealer selection uses the most restrictive criteria supplied. From most restrictive to least: dealerID, gps, zipCode, region. You must provide some dealer selection criteria.

    It is important to note that the units in the longitude are in degrees east, not degrees west. For example the coordinates 45.53N, 100.41W correspond to Mobridge, SC but they will be interpreted as 45.53N, 100.41E which corresponds to a point in the Gobi Desert near Jinst, Mongolia. You can fix this by converting the longitiude yourself, or by supplying a negative value (-100.41). For this example both (X, -100.41) and (X, 259.59) would be the same point. Units on the radius are miles and a smaller radius will result in a faster response time. Maximum search radius depends on your subscription plan.

    The radius value is used for GPS searches and (optionally) zipCode searches. It is ignored for searches using other location criteria. If you provide a radius value with a zipCode search, the zipCode will be mapped to GPS coordinates behind the scenes. If no radius is provided or if the zipCode to GPS mapping fails, the API will only search for vehicles at dealerships within the provided zipCode.

    Listing selection logically ANDs all options given.

    Time interval selection will prefer explicit start and end dates. If only one of startDate/endDate is supplied, this endpoint will use it as an anchor and look forward or backwards by the daysBack value. If startDate is specified and endDate is not, then endDate will be set to startDate+daysBack. Conversely if endDate is specified, but startDate is not then startDate will be set at endDate-daysBack. If neither is supplied endpoint will set endDate to today and startDate to today-daysBack.

    Maximum time interval is 45 days.

    Mileage selection uses the provided mileage values and returns vehicles with mileage in the range [mileageLow, mileageHigh]. If mileageLow == mileageHigh (for example both are 0 default) this endpoint will not filter based on mileage. Not all used vehicles have a mileage record available.

    ExtendedSearch modifies the slice of listings returned. If false (default) it only returns vehicles satisfying lastSeen >= startDate and lastSeen < endDate. If true it will return vehicles that were in dealer's inventory at any point between startDate and endDate including vehicles that were sold after endDate. Setting extendedSearch to true will result in a slower response time.

    For example: If both a region name and dealer ID are supplied the dealer ID will be used because it is the most restrictive.

    If a brandName of Ford and modelYear of 2019, modelName of F-150, and newCars of False is supplied this endpoint will return used 2019 model year Ford F-150s. If a contradictory listing selection is supplied (for example Ford + Camry) no listings will be returned because the request matched no listings.

    Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD).

  • vehicleData.getListingsByDealerListingsByDateGet

    See /listings2 endpoint for more flexible listing search. Returns a dealer's listings over the given timespan by dealer ID. The ID can be found by calling the /getDealers endpoint. Maximum time interval between startDate and endDate is 45 days. Listing keys are: vin, askPrice, msrp, isNew, firstSeen, lastSeen, modelName, brandName. Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD).

  • vehicleData.getListingsByDealerListingsGet

    See /listings2 endpoint for more flexible listing search. Returns a dealer's listings over the last 45 days by dealer ID. The ID can be found by calling the /getDealers endpoint. Listing keys are: vin, askPrice, msrp, isNew, firstSeen, lastSeen, modelName, brandName. Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD).

  • vehicleData.getListingsByRegionAndDateListingsByRegionAndDateGet

    See /listings2 endpoint for more flexible listing search. Returns listings active in a region in the given date range startdate, endDate), or in other words dates that satisfy startDate <= X < endDate. Maximum range is 45 days Listing keys are: vin, askPrice, msrp, isNew, firstSeen, lastSeen, modelName, brandName. Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD). [blocked]

  • vehicleData.getListingsByRegionListingsByRegionGet

    See /listings2 endpoint for more flexible listing search. Returns a dealer's listings over up to the last 45 days by region. Listing keys are: vin, askPrice, msrp, isNew, firstSeen, lastSeen, modelName, brandName. Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD).

  • vehicleData.getMarket3SimilarSalePriceGet

    Premium. Provides the average, stdDev, and count, of the sale price and mileage of similar new and used vehicles in a given region based off the provided VIN. Optionally restricts report to vehicles of the same model year and goes back up to 120 days.

  • vehicleData.getMarket4ValuationGet

    Premium. Provides the average, stdDev, and count, of the sale price and mileage of similar new or used vehicles based off the provided VIN and matching the provided other search criteria. This endpoint can be easily used to determine market values in arbitrary geographic locations (like a city) for specific vehicles. See /listings2 endpoint for documentation on location, vehicle, and time search parameters. Date selection is restricted by your subscription tier, same as with the /listings2 endpoint. Optionally restricts report to vehicles of the same model year.

  • vehicleData.getVehicleSeenVehicleSeenGet

    Checks our database to see if we have data on a VIN that appeared on the open market on or after the given date with a True/False response. This endpoint is more cost effective than the /vehicleHistory endpoint if your use case requires searching a large list of vehicles with a low individual likelyhood of appearing on the open market. (For example searching for a specific stolen vehicle).

  • vehicleData.listingsByZipCodeAndDateListingsByZipCodeAndDateGet

    See /listings2 endpoint for more flexible listing search. Returns a dealer's listings over up to the last 45 days in the provided dealership's zip code. For example 92701. Listing keys are: vin, askPrice, msrp, isNew, firstSeen, lastSeen, modelName, brandName. Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD).

  • vehicleData.listingsByZipCodeListingsByZipCodeGet

    See /listings2 endpoint for more flexible listing search. Returns a dealer's listings over up to the last 45 days in the provided dealerhip's zip code. For example 92701. Listing keys are: vin, askPrice, msrp, isNew, firstSeen, lastSeen, modelName, brandName. Results are paginated in chunks of up to 20 vehicles. Prices are in the dealer's local currency (generally USD).

  • vehicleData.vinDecodeVinDecodeGet

    Decodes the provided North American vin and provides recall information if available. We require at least the first 12 out of 17 characters in the vin to attempt a decode. The vin is not case sensitive. If passEmpty (default False) is True we will also include the empty fields in the response json. If includeRecall (default True) is True we will include recall data reported to the NHTSA. Set False for a faster response.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools