# Edmunds Submodels API Documentation

List the submodel records of one car model, one record per submodel and model year. Each record has the numeric submodel id, which the customer reviews endpoint needs, plus name, slug, year, style ids and publication states. Filter by year and page with page and per_page. A valid make and model without records is a successful empty list.

- **Documentation:** [https://scrappa.co/docs/edmunds-api/edmunds_catalog_submodels](https://scrappa.co/docs/edmunds-api/edmunds_catalog_submodels)
- **API group:** Edmunds API
- **Endpoint:** `GET https://scrappa.co/api/edmunds/catalog/submodels`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `make` | string | Yes | Make slug in lowercase, from the makes endpoint. Example: toyota. |
| `model` | string | Yes | Model slug in lowercase. Example: camry. |
| `year` | integer | No | Only return records of this model year. |
| `page` | integer | No | Page number, starting at 1. Defaults to 1. |
| `per_page` | integer | No | Records per page, 1 to 100. Defaults to 20. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/edmunds/catalog/submodels?make=toyota&model=camry&per_page=2"
```

## Example response

```json
{
    "success": true,
    "data": {
        "results": [
            {
                "id": 200408605,
                "name": "Camry Sedan",
                "identifier": "Sedan",
                "slug": "sedan",
                "year": 2008,
                "style_ids": [
                    "100900019",
                    "100900051",
                    "100900018",
                    "100900023",
                    "100900022",
                    "100900021",
                    "100900020",
                    "100900043",
                    "100900058",
                    "100900044"
                ],
                "publication_states": [
                    "used"
                ]
            },
            {
                "id": 200486708,
                "name": "Camry Sedan",
                "identifier": "Sedan",
                "slug": "sedan",
                "year": 2014,
                "style_ids": [
                    "200497906",
                    "200497905",
                    "200497904",
                    "200485959",
                    "200485958",
                    "200485957",
                    "200485956",
                    "200485962",
                    "200485961",
                    "200485960",
                    "200497903",
                    "200497902",
                    "200497901",
                    "200497900"
                ],
                "publication_states": [
                    "used"
                ]
            }
        ],
        "total": 48,
        "total_pages": 24,
        "page": 1,
        "per_page": 2
    },
    "meta": {
        "endpoint_family": "catalog_submodels",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required query parameter is missing or invalid. This response is not billable. |
| 404 | Resource Not Found | The requested Edmunds resource does not exist. This response is not billable. |
| 503 | Invalid Source Response | The upstream answered with a shape that no longer matches the documented contract. This response is not billable. |
| 503 | Service Unavailable | The upstream service is temporarily unavailable. Please retry shortly. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
