carstat-app Safety Ratings API
Browse and retrieve NHTSA 5-star crash test ratings. Use the discovery endpoints (years → makes → models) to navigate available data, then fetch frontal, side, pole, and rollover ratings for a specific vehicle.
Browse and retrieve NHTSA 5-star crash test ratings. Use the discovery endpoints (years → makes → models) to navigate available data, then fetch frontal, side, pole, and rollover ratings for a specific vehicle.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/carstat-app:carstat-app-safety-ratings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: REST API Reference Safety Ratings API
version: v1
description: 'API for accessing vehicle specifications, NHTSA recalls, and NHTSA safety ratings. All three data verticals share the same discoverable browsing pattern: list available years → list makes for a year → list models for a year + make → fetch data.'
x-rate-limit:
requests: 120
period: minute
description: shared by REST and MCP across all account credentials
x-logo:
url: logo.svg
backgroundColor: '#FFFFFF'
href: /
contact:
name: Carstat API Support
email: support@carstat.app
servers:
- url: https://api.carstat.app
description: Production server
security:
- bearer_auth: []
tags:
- name: Safety Ratings
description: Browse and retrieve NHTSA 5-star crash test ratings. Use the discovery endpoints (years → makes → models) to navigate available data, then fetch frontal, side, pole, and rollover ratings for a specific vehicle.
paths:
/v1/safety-ratings/years:
get:
summary: List available safety rating years
tags:
- Safety Ratings
description: Returns a list of distinct years for which safety rating data is available, ordered most recent first.
operationId: getSafetyRatingYears
security:
- bearer_auth: []
responses:
'200':
description: successful
content:
application/json:
schema:
type: array
items:
type: integer
example:
- 2024
- 2023
- 2022
description: Array of years in descending order
'402':
description: Insufficient prepaid credits; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/insufficient_credits_error'
'503':
description: Query pricing is temporarily unavailable; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: No activated prepaid credits
content:
application/json:
schema:
$ref: '#/components/schemas/error'
/v1/safety-ratings/makes/{year}:
get:
summary: List available safety rating makes for a year
tags:
- Safety Ratings
description: Returns a list of distinct vehicle makes for which safety rating data is available for the specified year.
operationId: getSafetyRatingMakesByYear
security:
- bearer_auth: []
parameters:
- name: year
in: path
description: Model year (e.g., 2024)
required: true
example: 2024
schema:
type: integer
responses:
'200':
description: successful
content:
application/json:
schema:
type: array
items:
type: string
example:
- Ford
- Honda
- Toyota
description: Array of make names in alphabetical order
'402':
description: Insufficient prepaid credits; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/insufficient_credits_error'
'503':
description: Query pricing is temporarily unavailable; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: No activated prepaid credits
content:
application/json:
schema:
$ref: '#/components/schemas/error'
/v1/safety-ratings/models/{year}/{make}:
get:
summary: List safety rating models for a year and make
tags:
- Safety Ratings
description: Returns a list of distinct model names for which safety rating data is available for the given year and make.
operationId: getSafetyRatingModelsByYearMake
security:
- bearer_auth: []
parameters:
- name: year
in: path
description: Model year (e.g., 2024)
required: true
example: 2024
schema:
type: integer
- name: make
in: path
description: Vehicle manufacturer name (e.g., Toyota)
required: true
example: Toyota
schema:
type: string
responses:
'200':
description: successful
content:
application/json:
schema:
type: array
items:
type: string
example:
- Camry
- Corolla
- RAV4
description: Array of model names in alphabetical order
'402':
description: Insufficient prepaid credits; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/insufficient_credits_error'
'503':
description: Query pricing is temporarily unavailable; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: No activated prepaid credits
content:
application/json:
schema:
$ref: '#/components/schemas/error'
/v1/safety-ratings/{year}/{make}/{model}:
get:
summary: Get safety ratings for a vehicle
tags:
- Safety Ratings
description: Returns a list of NHTSA safety ratings for the specified vehicle. Each rating includes crash test star ratings and safety equipment details. Multiple results may be returned for different body styles or drive trains. Use the optional body_style and drive_train query parameters to narrow results.
operationId: getSafetyRatingsByVehicle
security:
- bearer_auth: []
parameters:
- name: year
in: path
description: Model year (e.g., 2024)
required: true
example: 2024
schema:
type: integer
- name: make
in: path
description: Vehicle manufacturer name (e.g., Toyota)
required: true
example: Toyota
schema:
type: string
- name: model
in: path
description: Vehicle model name (e.g., Camry). The specifications catalog's name and other market names for the same car also match (e.g., F-Series F-100/F-150, Cerato), as do NHTSA's body, cab and drive variants of the model.
required: true
example: Camry
schema:
type: string
- name: body_style
in: query
description: Filter by body style (e.g., '4 DR Sedan')
required: false
schema:
type: string
- name: drive_train
in: query
description: Filter by drive train (e.g., 'FWD', 'AWD')
required: false
schema:
type: string
responses:
'200':
description: successful
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/safety_rating'
description: Array of safety rating objects for the specified vehicle
'402':
description: Insufficient prepaid credits; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/insufficient_credits_error'
'503':
description: Query pricing is temporarily unavailable; the query is not charged
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: No activated prepaid credits
content:
application/json:
schema:
$ref: '#/components/schemas/error'
components:
schemas:
error:
type: object
properties:
error:
type: string
description: Error message
required:
- error
safety_rating:
type: object
description: NHTSA safety rating for a vehicle variant. Star ratings are numbers. The data object contains full test results, safety equipment, and additional details.
properties:
id:
type: integer
description: Safety rating record ID
make:
type: string
description: Vehicle manufacturer
example: Toyota
model:
type: string
description: Vehicle model
example: Camry
year_int:
type: integer
description: Model year
example: 2024
body_style:
type: string
description: Body style
example: 4 DR Sedan
vehicle_type:
type: string
description: Vehicle type
example: Passenger Car
drive_train:
type: string
description: Drive train
example: FWD
overall_stars:
type: number
description: Overall star rating
example: 5.0
overall_frnt_stars:
type: number
description: Overall frontal star rating
example: 4.0
overall_side_stars:
type: number
description: Overall side star rating
example: 5.0
side_pole_stars:
type: number
description: Side pole star rating
example: 5.0
rollover_stars:
type: number
description: Rollover star rating
example: 4.0
frnt_driv_stars:
type: number
description: Frontal driver star rating
frnt_pass_stars:
type: number
description: Frontal passenger star rating
side_driv_stars:
type: number
description: Side driver star rating
side_pass_stars:
type: number
description: Side passenger star rating
side_barrier_star:
type: number
description: Side barrier star rating
comb_frnt_star:
type: number
description: Combined front star rating
comb_rear_star:
type: number
description: Combined rear star rating
data:
type: object
description: Full NHTSA safety data including test results, equipment details, and additional ratings
insufficient_credits_error:
type: object
properties:
error:
type: string
description: Error message
example: Insufficient credits. Please top up your balance.
code:
type: string
enum:
- insufficient_credits
description: Top up your prepaid balance to continue querying
required:
- error
- code
securitySchemes:
bearer_auth:
type: http
scheme: bearer
bearerFormat: API Token
description: API token authentication. Get your token from the dashboard.