Car API (carapi.app) Bodies API

The Bodies API from Car API (carapi.app) — 1 operation(s) for bodies.

Operations 2

GET /api/bodies Search vehicle bodies (use /api/bodies/v2 instead) #
GET /api/bodies/v2 Search vehicle bodies #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/car-api:car-api-bodies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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 Specification

car-api-bodies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.3.15
  title: Car API Documentation Bodies API
  description: 'Welcome to CarAPIs vehicle API documentation. The developer friendly Car API.

    Start developing with your vehicle API today — no fees, no signup. CarAPIs free vehicle data-set

    requires no account. Only pay when you''re ready to go live. The free data-set is limited to 2015-2020 vehicles.

    To access the full data-set you may signup here and then select a subscription plan.


    **Additional Documentation**


    For additional documentation please review https://carapi.app/docs.


    **SDKs**


    PHP SDK: https://github.com/car-api-team/carapi-php-sdk


    **Release Updates**


    Check release history here: https://github.com/car-api-team/docs/releases'
servers:
- url: https://carapi.app
tags:
- name: Bodies
paths:
  /api/bodies:
    get:
      operationId: makemodeltrimbodies:index:get
      summary: Search vehicle bodies (use /api/bodies/v2 instead)
      description: '**We encourage users to begin migrating to /api/bodies/v2**


        To include additional information about the returned body (such as year, make, model and trim) request with the

        query parameter as `verbose=yes`.


        For complex queries you may use the json field to send an array of URL encoded JSON conditions, example:


        `[{"field": "doors", "op": ">=", "val": 4}, {"field": "type", "op": "in", "val": ["SUV","Van"]}]`


        See `/api/vehicle-attributes` for a complete list of vehicle attributes.


        JSON operators: `=`, `!=`, `>`, `=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`.


        JSON search fields:

        `year`, `make`, `model`, `trim`, `type`, `doors`, `seats`, `length`, `width`, `height`, `wheel_base`, `front_track`, `rear_track`, `ground_clearance`, `cargo_capacity`, `max_cargo_capacity`, `curb_weight`, `gross_weight`, `max_payload`, `max_towing_capacity`, `make_model_trim_id`, `created`, `modified`, `make_id`, and `make_model_id`.'
      tags:
      - Bodies
      externalDocs:
        url: https://carapi.app/features/json-api-specs#bodies
        description: Documentation
      parameters:
      - $ref: '#/x-swagger-bake/components/parameters/paginatorPage'
      - $ref: '#/x-swagger-bake/components/parameters/paginatorLimit'
      - in: query
        name: sort
        required: false
        schema:
          type: string
          enum:
          - id
          - make_model_trim_id
          - type
          - doors
          - length
          - width
          - seats
          - height
          - wheel_base
          - front_track
          - rear_track
          - ground_clearance
          - cargo_capacity
          - max_cargo_capacity
          - curb_weight
          - gross_weight
          - max_payload
          - max_towing_capacity
      - $ref: '#/x-swagger-bake/components/parameters/paginatorDirection'
      - in: query
        name: verbose
        description: Includes make, model and trim
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
      - in: query
        name: make_model_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: make_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: year
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: make
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: model
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: trim
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: make_model_trim_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: type
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: doors
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: json
        required: false
        schema:
          type: string
          description: JsonSearchFilter
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      type: object
                      allOf:
                      - $ref: '#/components/schemas/MakeModelTrimBody'
                    type: array
                allOf:
                - $ref: '#/x-swagger-bake/components/schemas/Generic-Collection'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                title: BadRequestException
                properties:
                  exception:
                    example: BadRequestException
                    type: string
                  code:
                    example: 400
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The request contains invalid data. The returned error message should indicate the issue.
                    type: string
        '405':
          description: MethodNotAllowedException
          content:
            application/json:
              schema:
                title: MethodNotAllowedException
                properties:
                  exception:
                    example: MethodNotAllowedException
                    type: string
                  code:
                    example: 405
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST  when the endpoint only accepts HTTP GET.
                    type: string
        '429':
          description: 'TooManyRequestsException - Max Per Minute: 600'
          content:
            application/json:
              schema:
                title: TooManyRequestsException
                properties:
                  exception:
                    example: TooManyRequestsException
                    type: string
                  code:
                    example: 429
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)'
                    type: string
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                title: ServiceUnavailableException
                properties:
                  exception:
                    example: ServiceUnavailableException
                    type: string
                  code:
                    example: 503
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The server is unavailable, typically only encountered during scheduled maintenance.
                    type: string
      security:
      - bearerAuth: []
      deprecated: true
  /api/bodies/v2:
    get:
      operationId: makemodeltrimbodies:index2:get
      summary: Search vehicle bodies
      description: 'The demo dataset contains model years 2015 - 2020. To access years 1900 - today please purchase

        a Premium Subscription. You must include a valid JWT in the header once you have

        purchased a subscription otherwise you will continue to receive the demo dataset.


        For complex queries you may use the json field to send an array of URL encoded JSON conditions, example:


        `[{"field": "doors", "op": ">=", "val": 4}, {"field": "type", "op": "in", "val": ["SUV","Van"]}]`


        See `/api/vehicle-attributes` for a complete list of vehicle attributes.


        JSON operators: `=`, `!=`, `>`, `=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`.


        JSON search fields:

        `year`, `make`, `model`, `series`, `submodel`, `trim`, `description`, `make_id`, `model_id`, `submodel_id`, `trim_id`, `type`, `doors`, `seats`, `length`, `width`, `height`, `wheel_base`, `front_track`, `rear_track`, `ground_clearance`, `cargo_capacity`, `max_cargo_capacity`, `curb_weight`, `gross_weight`, `max_payload`, `max_towing_capacity`, `created`, and `modified`.'
      tags:
      - Bodies
      externalDocs:
        url: https://carapi.app/features/json-api-specs#bodies
        description: Documentation
      parameters:
      - $ref: '#/x-swagger-bake/components/parameters/paginatorPage'
      - $ref: '#/x-swagger-bake/components/parameters/paginatorLimit'
      - $ref: '#/x-swagger-bake/components/parameters/paginatorSort'
      - $ref: '#/x-swagger-bake/components/parameters/paginatorDirection'
      - in: query
        name: year
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: make
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: model
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: series
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: submodel
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: trim
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: description
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: make_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: model_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: submodel_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: trim_id
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: type
        required: false
        schema:
          type: string
          description: Like
      - in: query
        name: doors
        required: false
        schema:
          type: string
          description: Value
      - in: query
        name: json
        required: false
        schema:
          type: string
          description: JsonSearchFilter
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      type: object
                      properties:
                        id:
                          minLength: 1
                          type: integer
                          format: int64
                          readOnly: true
                        make_id:
                          type: integer
                        model_id:
                          type: integer
                        submodel_id:
                          type: integer
                        trim_id:
                          type: integer
                        year:
                          type: integer
                        make:
                          type: string
                        model:
                          type: string
                        series:
                          type:
                          - string
                          - 'null'
                        submodel:
                          type: string
                        trim:
                          type: string
                        trim_description:
                          type: string
                        type:
                          minLength: 1
                          maxLength: 32
                          type: string
                          description: The body type, such as SUV or Sedan
                          enum:
                          - Cargo Van
                          - Convertible
                          - Coupe
                          - Ext Cargo Minivan
                          - Ext Cargo Van
                          - Ext Minivan
                          - Ext Van
                          - Hatchback
                          - Minivan
                          - Passenger Van
                          - Sedan
                          - SUV
                          - Truck (Access Cab)
                          - Truck (Cab Plus)
                          - Truck (Club Cab)
                          - Truck (Crew Cab)
                          - Truck (CrewMax)
                          - Truck (Double Cab)
                          - Truck (Extended Cab)
                          - Truck (King Cab)
                          - Truck (Mega Cab)
                          - Truck (Quad Cab)
                          - Truck (Regular Cab)
                          - Truck (SuperCab)
                          - Truck (SuperCrew)
                          - Truck (Xtracab)
                          - Unknown
                          - Van
                          - Wagon
                        doors:
                          type: integer
                          format: int32
                          description: Number of doors &mdash; generally including a hatchback as an additional door
                        length:
                          type: number
                          format: float
                          description: Total length (in inches) of the vehicle in inches
                        width:
                          type: number
                          format: float
                          description: Total width (in inches) of the vehicle
                        seats:
                          type: integer
                          format: int32
                          description: Number of passenger seats in the vehicle.
                        height:
                          type: number
                          format: float
                          description: Total height (in inches) of the vehicle
                        wheel_base:
                          type: number
                          format: float
                          description: The horizontal distance (in inches) between the centers of the front and rear wheels
                        front_track:
                          type: number
                          format: float
                          description: The distance (in inches) between the centerline of the wheels
                        rear_track:
                          type: number
                          format: float
                          description: The distance (in inches) between the hub flanges on an axle
                        ground_clearance:
                          type: number
                          format: float
                          description: The distance (in inches) between the lowest point on the undersurface of the vehicle and the road
                        cargo_capacity:
                          type: number
                          format: float
                          description: The standard total cubic feet of space in a vehicles cargo area
                        max_cargo_capacity:
                          type: number
                          format: float
                          description: The maximum total cubic feet of space in a vehicles cargo area
                        curb_weight:
                          type: integer
                          format: int64
                          description: Curb weight refers to the vehicles heaviness (in pounds) without passengers or cargo, only counting the car itself along with necessary fluids like oil and coolant
                        gross_weight:
                          type: integer
                          format: int64
                          description: Gross weight (in pounds) considers all components—including passengers, cargo, and both the tow vehicle weight—if one is attached
                        max_payload:
                          type: integer
                          format: int64
                          description: Maximum weight in pounds that a vehicle can safely carry
                        max_towing_capacity:
                          type: integer
                          format: int64
                          description: Maximum weight in pounds that a vehicle can safely tow
                    type: array
                allOf:
                - $ref: '#/x-swagger-bake/components/schemas/Generic-Collection'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                title: BadRequestException
                properties:
                  exception:
                    example: BadRequestException
                    type: string
                  code:
                    example: 400
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The request contains invalid data. The returned error message should indicate the issue.
                    type: string
        '405':
          description: MethodNotAllowedException
          content:
            application/json:
              schema:
                title: MethodNotAllowedException
                properties:
                  exception:
                    example: MethodNotAllowedException
                    type: string
                  code:
                    example: 405
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST  when the endpoint only accepts HTTP GET.
                    type: string
        '429':
          description: 'TooManyRequestsException - Max Per Minute: 600'
          content:
            application/json:
              schema:
                title: TooManyRequestsException
                properties:
                  exception:
                    example: TooManyRequestsException
                    type: string
                  code:
                    example: 429
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)'
                    type: string
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                title: ServiceUnavailableException
                properties:
                  exception:
                    example: ServiceUnavailableException
                    type: string
                  code:
                    example: 503
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The server is unavailable, typically only encountered during scheduled maintenance.
                    type: string
      security:
      - bearerAuth: []
components:
  schemas:
    MakeModelTrimBody:
      properties:
        id:
          minLength: 1
          type: integer
          format: int64
          readOnly: true
        make_model_trim_id:
          minLength: 1
          type: integer
          format: int64
        type:
          minLength: 1
          maxLength: 32
          type: string
          description: The body type, such as SUV or Sedan
          enum:
          - Cargo Van
          - Convertible
          - Coupe
          - Ext Cargo Minivan
          - Ext Cargo Van
          - Ext Minivan
          - Ext Van
          - Hatchback
          - Minivan
          - Passenger Van
          - Sedan
          - SUV
          - Truck (Access Cab)
          - Truck (Cab Plus)
          - Truck (Club Cab)
          - Truck (Crew Cab)
          - Truck (CrewMax)
          - Truck (Double Cab)
          - Truck (Extended Cab)
          - Truck (King Cab)
          - Truck (Mega Cab)
          - Truck (Quad Cab)
          - Truck (Regular Cab)
          - Truck (SuperCab)
          - Truck (SuperCrew)
          - Truck (Xtracab)
          - Unknown
          - Van
          - Wagon
        doors:
          type: integer
          format: int32
          description: Number of doors &mdash; generally including a hatchback as an additional door
        length:
          type: number
          format: float
          description: Total length (in inches) of the vehicle in inches
        width:
          type: number
          format: float
          description: Total width (in inches) of the vehicle
        seats:
          type: integer
          format: int32
          description: Number of passenger seats in the vehicle.
        height:
          type: number
          format: float
          description: Total height (in inches) of the vehicle
        wheel_base:
          type: number
          format: float
          description: The horizontal distance (in inches) between the centers of the front and rear wheels
        front_track:
          type: number
          format: float
          description: The distance (in inches) between the centerline of the wheels
        rear_track:
          type: number
          format: float
          description: The distance (in inches) between the hub flanges on an axle
        ground_clearance:
          type: number
          format: float
          description: The distance (in inches) between the lowest point on the undersurface of the vehicle and the road
        cargo_capacity:
          type: number
          format: float
          description: The standard total cubic feet of space in a vehicles cargo area
        max_cargo_capacity:
          type: number
          format: float
          description: The maximum total cubic feet of space in a vehicles cargo area
        curb_weight:
          type: integer
          format: int64
          description: Curb weight refers to the vehicles heaviness (in pounds) without passengers or cargo, only counting the car itself along with necessary fluids like oil and coolant
        gross_weight:
          type: integer
          format: int64
          description: Gross weight (in pounds) considers all components—including passengers, cargo, and both the tow vehicle weight—if one is attached
        max_payload:
          type: integer
          format: int64
          description: Maximum weight in pounds that a vehicle can safely carry
        max_towing_capacity:
          type: integer
          format: int64
          description: Maximum weight in pounds that a vehicle can safely tow
      type: object
      description: ''
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-swagger-bake:
  components:
    parameters:
      paginatorPage:
        name: page
        in: query
        required: false
        schema:
          type: integer
      paginatorLimit:
        name: limit
        in: query
        required: false
        schema:
          type: integer
      paginatorSort:
        name: sort
        in: query
        required: false
        schema:
          type: string
      paginatorDirection:
        name: direction
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
    schemas:
      HalJson-Item:
        type: object
        properties:
          links:
            type: object
            properties:
              self:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /entity/:id
      HalJson-Collection:
        type: object
        properties:
          links:
            type: object
            properties:
              self:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection
              next:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection?page=:number
              prev:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection?page=:number
              first:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection?page=:number
              properties:
                href:
                  type: string
                  format: url
                  example: /collection?page=:number
            last:
              type: object
              properties:
                href:
                  type: string
                  format: url
                  example: /collection?page=:number
      JsonLd-Item:
        type: object
        properties:
          '@id':
            type: string
            format: url
            example: /entity/:id
          '@type':
            type: string
            format: url
            example: https://schema.org/Thing
          '@context':
            type: string
            format: url
            example: /context/Entity
      JsonLd-Collection:
        type: object
        properties:
          '@id':
            type: string
            format: url
            example: /entity/:id
          '@type':
            type: string
            format: url
            example: https://schema.org/Thing
          '@context':
            type: string
            format: url
            example: /context/Entity
          view:
            type: object
            properties:
              '@id':
                type: string
                format: url
                example: /index
              '@type':
                type: string
                example: PartialCollectionView
              next:
                type: string
                format: url
                example: /index?page=:number
              prev:
                type: string
                format: url
                example: /index?page=:number
              first:
                type: string
                format: url
                example: /index
              last:
                type: string
                format: url
                example: /index?page=:number
      Generic-Collection:
        properties:
          collection:
            properties:
              url:
                example: /collection
                type: string
                format: url
              count:
                example: 50
                type: integer
              pages:
                example: 20
                type: integer
              total:
                example: 200
                type: integer
              next:
                example: /collection?page=:number
                type: string
                format: url
              prev:
                example: /collection?page=:number
                type: string
                format: url
              first:
                example: /collection?page=:number
                type: string
                format: url
              last:
                example: /collection?page=:number
                type: string
                format: url
            type: object
        type: object
        x-data-element: data
x-provenance:
  method: harvested
  publisher: Car API (carapi.app)
  source: https://carapi.app/swagger.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)