Volkswagen Catalog API

Browse vehicle catalog — countries, brands, models, types, and options.

Operations 5

GET /countries List Available Countries #
GET /catalog/{countryCode}/brands List Brands By Country #
GET /catalog/{countryCode}/brands/{brandId}/models List Models By Brand #
GET /catalog/{countryCode}/models/{modelId}/types List Types By Model #
GET /catalog/{countryCode}/types/{typeId}/options List Options By Type #

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/volkswagen-catalog-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

volkswagen-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Volkswagen OKAPI - Open Konfigurator Catalog API
  description: The Volkswagen OKAPI (Open Konfigurator API) provides access to Volkswagen AG product data, enabling developers to browse vehicle catalogs, configure cars iteratively, validate buildability, retrieve WLTP emissions data, get configuration images, and obtain pricing and technical order information. Supports all VW Group brands across global markets.
  version: v3
  contact:
    name: Volkswagen OKAPI Developer Portal
    url: https://okapi-ddp.productdata.volkswagenag.com/dev-portal/
  license:
    name: Volkswagen OKAPI Terms and Conditions
    url: https://productdata.volkswagenag.com/condition-of-use.html
servers:
- url: https://productdata.volkswagenag.com/v3
  description: Volkswagen OKAPI API v3
security:
- BearerAuth: []
tags:
- name: Catalog
  description: Browse vehicle catalog — countries, brands, models, types, and options.
paths:
  /countries:
    get:
      operationId: listCountries
      summary: List Available Countries
      description: Returns all countries for which OKAPI offers vehicle configuration support. Each country has an ISO 3166-2 market identifier used in subsequent catalog calls.
      tags:
      - Catalog
      responses:
        '200':
          description: List of supported countries with their market identifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountryList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /catalog/{countryCode}/brands:
    get:
      operationId: listBrandsByCountry
      summary: List Brands By Country
      description: Returns all VW Group brands available in the specified country market.
      tags:
      - Catalog
      parameters:
      - $ref: '#/components/parameters/countryCode'
      responses:
        '200':
          description: List of brands available in the country.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /catalog/{countryCode}/brands/{brandId}/models:
    get:
      operationId: listModelsByBrand
      summary: List Models By Brand
      description: Returns all vehicle models available for a specific brand in a country.
      tags:
      - Catalog
      parameters:
      - $ref: '#/components/parameters/countryCode'
      - $ref: '#/components/parameters/brandId'
      responses:
        '200':
          description: List of models for the brand in the country.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /catalog/{countryCode}/models/{modelId}/types:
    get:
      operationId: listTypesByModel
      summary: List Types By Model
      description: Returns all vehicle types (trim levels, engine variants) for a specific model.
      tags:
      - Catalog
      parameters:
      - $ref: '#/components/parameters/countryCode'
      - $ref: '#/components/parameters/modelId'
      responses:
        '200':
          description: List of vehicle types for the model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypeList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /catalog/{countryCode}/types/{typeId}/options:
    get:
      operationId: listOptionsByType
      summary: List Options By Type
      description: Returns all configurable options for a vehicle type, including exterior colors, interior colors, wheels, radio, packages, and service guarantees.
      tags:
      - Catalog
      parameters:
      - $ref: '#/components/parameters/countryCode'
      - $ref: '#/components/parameters/typeId'
      responses:
        '200':
          description: Available options for the vehicle type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OptionList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    VehicleType:
      type: object
      properties:
        id:
          type: string
          description: Vehicle type UUID.
        name:
          type: string
          description: Type name including engine and trim designation.
        basePrice:
          $ref: '#/components/schemas/Price'
    Option:
      type: object
      properties:
        id:
          type: string
          description: Option UUID.
        name:
          type: string
          description: Option display name.
        category:
          type: string
          enum:
          - exterior-color
          - interior
          - wheels
          - radio
          - packages
          - service
          description: Option category.
        price:
          $ref: '#/components/schemas/Price'
    CountryList:
      type: object
      properties:
        countries:
          type: array
          items:
            $ref: '#/components/schemas/Country'
    OptionList:
      type: object
      properties:
        options:
          type: array
          items:
            $ref: '#/components/schemas/Option'
    Model:
      type: object
      properties:
        id:
          type: string
          description: Model UUID.
        name:
          type: string
          description: Model name (e.g. Golf, Passat, Tiguan).
        year:
          type: integer
          description: Model year.
    Price:
      type: object
      properties:
        amount:
          type: number
          description: Price amount.
        currency:
          type: string
          description: ISO 4217 currency code.
          example: EUR
    TypeList:
      type: object
      properties:
        types:
          type: array
          items:
            $ref: '#/components/schemas/VehicleType'
    BrandList:
      type: object
      properties:
        brands:
          type: array
          items:
            $ref: '#/components/schemas/Brand'
    Brand:
      type: object
      properties:
        id:
          type: string
          description: Brand UUID.
        name:
          type: string
          description: Brand name (e.g. Volkswagen, Audi, SEAT, Skoda, CUPRA).
    Country:
      type: object
      properties:
        code:
          type: string
          description: ISO 3166-2 country/market code.
          example: DE
        name:
          type: string
          description: Country display name.
    ModelList:
      type: object
      properties:
        models:
          type: array
          items:
            $ref: '#/components/schemas/Model'
  parameters:
    typeId:
      name: typeId
      in: path
      required: true
      description: Vehicle type UUID identifier.
      schema:
        type: string
    modelId:
      name: modelId
      in: path
      required: true
      description: Model UUID identifier.
      schema:
        type: string
    countryCode:
      name: countryCode
      in: path
      required: true
      description: ISO 3166-2 market identifier (e.g. DE, AT, GB, US).
      schema:
        type: string
        example: DE
    brandId:
      name: brandId
      in: path
      required: true
      description: Brand UUID identifier.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    TooManyRequests:
      description: Request rate limit exceeded.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Bearer token obtained by requesting client credentials from the Volkswagen OKAPI Developer Portal.