Tires
Three endpoints for discovering and inspecting tires: a simple dimensional search, a full faceted catalog browser, and a detail endpoint for individual tire sizes.
Case-insensitive filtering. String filter values such as
make_name, category, season, terrain, and exclude_category are case-insensitive — for example, make_name=Michelin and make_name=MICHELIN produce the same results.
Search Tires
GET
/api/v1/tires/search
Search tire sizes by dimensional attributes. Returns paginated results with basic tire information.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
width | string | No | — | Tire width in mm (e.g. 205) |
aspect_ratio | string | No | — | Aspect ratio (e.g. 65) |
rim_size | string | No | — | Rim diameter in inches (e.g. 15) |
load_rating | string | No | — | Load rating code (e.g. 97) |
speed_rating | string | No | — | Speed rating code (e.g. H) |
size_format | string | No | — | Size format. One of: Modern (metric, e.g. 205/65R15), Imperial, Imperial Truck (e.g. 10R22.5), OD (flotation, e.g. 31x10.50R15), Lawn and Garden |
exclude_category | string[] | No | [] | Exclude tires in these categories. Repeat for multiple: ?exclude_category=OTR/Construction, Earthmover&exclude_category=Industrial |
page | int | No | 1 | Page number (1-based) |
per_page | int | No | 20 | Results per page (max 100) |
Imperial & flotation sizes. Non-metric sizes have
aspect_ratio: null. For imperial truck sizes (e.g. 10R22.5), query with aspect_ratio=0. For flotation sizes (e.g. 31x10.50R15), query by width and rim (?width=31&rim_size=15) and use size_format=OD to include only flotation tires.
Code Examples
curl -H "x-api-key: tl_live_your_key" \
"https://app.tireweblibrary.com/api/v1/tires/search?width=205&aspect_ratio=65&rim_size=15"
const response = await fetch(
"https://app.tireweblibrary.com/api/v1/tires/search?width=205&aspect_ratio=65&rim_size=15",
{ headers: { "x-api-key": "tl_live_your_key" } }
);
const data = await response.json();
import requests
response = requests.get(
"https://app.tireweblibrary.com/api/v1/tires/search",
params={"width": "205", "aspect_ratio": "65", "rim_size": "15"},
headers={"x-api-key": "tl_live_your_key"},
)
data = response.json()
Response
{
"current_page": 1,
"data": [
{
"id": 12345,
"name": "205/65R15",
"item_number": "12345",
"tire_model_id": 678,
"tire_make_id": 90,
"width": "205",
"aspect_ratio": "65",
"rim_size": "15",
"load_rating": "97",
"speed_rating": "H",
"make_name": "Michelin",
"model_name": "Defender T+H",
"season": "All Season",
"category": "Passenger",
"three_pmsf": false,
"run_flat": false,
"mud_and_snow": true,
"size_format": "Modern",
"thumbnail_image": null,
"angle_image_url": "https://...",
"side_image_url": "https://...",
"side2_image_url": "https://...",
"front_image_url": "https://...",
"rotation_image_url": "https://...",
"image_url": "https://..."
}
],
"from": 1,
"last_page": 3,
"per_page": 20,
"to": 20,
"total": 55
}Response Fields
| Field | Type | Description |
|---|---|---|
id | long | Unique tire size identifier |
name | string | Tire size name (e.g. "205/65R15") |
item_number | string? | Item number / SKU |
tire_model_id | long | ID of the tire pattern |
tire_make_id | long | ID of the tire make |
width | string? | Tire width in mm |
aspect_ratio | string? | Aspect ratio |
rim_size | string? | Rim diameter in inches |
load_rating | string? | Load rating code |
speed_rating | string? | Speed rating code |
size_format | string? | Size format: Modern, Imperial, Imperial Truck, OD, or Lawn and Garden; null when unclassified |
make_name | string? | Make name (e.g. "Michelin") |
model_name | string? | Pattern name (e.g. "Defender T+H") |
season | string? | Season classification |
category | string? | Tire category |
warranty | string? | Warranty mileage |
ply_rating | string? | Ply rating |
load_range | string? | Load range (e.g. "SL") |
utqg | string? | UTQG rating (e.g. "820 A B") |
tread_depth | string? | Tread depth (32nds of an inch) |
weight | string? | Tire weight (lbs) |
make_image | string? | URL to make logo image |
terrain | string? | Terrain classification |
studdable | bool? | Studdable tire |
three_pmsf | bool | Three-Peak Mountain Snowflake certification |
run_flat | bool | Run-flat tire |
mud_and_snow | bool | M+S rated |
thumbnail_image | string? | Deprecated — always null. Use angle_image_url / side_image_url / image_url (per-model images) instead. |
angle_image_url | string? | URL to a 500x500 angled tread photo with cache-busting ?v=; null when unavailable (see Angle Images below) |
side_image_url | string? | URL to the side-view product photo (per tire model), with cache-busting ?v=; null when unavailable |
side2_image_url | string? | Alternate side-view photo for this tire’s model (seeded set), with cache-busting ?v=; null when unavailable |
front_image_url | string? | Front-view product photo for this tire’s model, with cache-busting ?v=; null when unavailable |
rotation_image_url | string? | Poster frame of the 360° spin set for this tire’s model (first frame), with cache-busting ?v=; null when unavailable |
image_url | string? | URL to the legacy pattern product image (fallback when the angle image is unavailable) |
Error Responses
| Status | Condition |
|---|---|
401 | Missing or invalid API key |
Related Endpoints
- Tire Makes — get make IDs and names for the
tire_make_idfield - Tire Patterns — get pattern details for the
tire_model_idfield - Tire Categories — reference list of category values for the
exclude_categoryfilter
Browse Catalog
GET
/api/v1/tires/catalog
Full-featured faceted catalog browser. Returns matching tires along with available facet values for building interactive filters. Most parameters accept multiple values — repeat the query parameter for each value.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
search | string | No | — | Free-text search |
make_name | string[] | No | [] | Filter by make. Repeat for multiple: ?make_name=Michelin&make_name=Bridgestone |
width | string[] | No | [] | Filter by width |
aspect_ratio | string[] | No | [] | Filter by aspect ratio |
rim_size | string[] | No | [] | Filter by rim size |
speed_rating | string[] | No | [] | Filter by speed rating |
load_rating | string[] | No | [] | Filter by load rating |
ply_rating | string[] | No | [] | Filter by ply rating |
load_range | string[] | No | [] | Filter by load range |
utqg | string[] | No | [] | Filter by UTQG |
warranty | string[] | No | [] | Filter by warranty |
item_number | string[] | No | [] | Filter by item number |
size_format | string[] | No | [] | Filter by size format. Values: Modern, Imperial, Imperial Truck, OD (flotation), Lawn and Garden |
season | string[] | No | [] | Filter by season |
terrain | string[] | No | [] | Filter by terrain |
category | string[] | No | [] | Filter by category |
exclude_category | string[] | No | [] | Exclude tires in these categories. Repeat for multiple: ?exclude_category=OTR/Construction, Earthmover&exclude_category=Industrial |
three_pmsf | bool | No | — | Three-Peak Mountain Snowflake |
run_flat | bool | No | — | Run-flat tires only |
mud_and_snow | bool | No | — | M+S rated only |
studdable | bool | No | — | Studdable only |
sort | string | No | — | Sort key (e.g. name_asc) |
page | int | No | 1 | Page number |
per_page | int | No | 30 | Results per page (max 100) |
Code Examples
curl -H "x-api-key: tl_live_your_key" \
"https://app.tireweblibrary.com/api/v1/tires/catalog?make_name=Michelin&per_page=30"
const response = await fetch(
"https://app.tireweblibrary.com/api/v1/tires/catalog?make_name=Michelin&per_page=30",
{ headers: { "x-api-key": "tl_live_your_key" } }
);
const data = await response.json();
import requests
response = requests.get(
"https://app.tireweblibrary.com/api/v1/tires/catalog",
params={"make_name": "Michelin", "per_page": 30},
headers={"x-api-key": "tl_live_your_key"},
)
data = response.json()
Response
{
"results": {
"current_page": 1,
"data": [
{
"id": 12345,
"name": "205/65R15",
"item_number": "12345",
"tire_model_id": 678,
"tire_make_id": 90,
"width": "205",
"aspect_ratio": "65",
"rim_size": "15",
"load_rating": "97",
"speed_rating": "H",
"make_name": "Michelin",
"model_name": "Defender T+H",
"season": "All Season",
"category": "Passenger",
"warranty": "90000",
"ply_rating": "4",
"load_range": "SL",
"utqg": "820 A B",
"tread_depth": "9.5",
"weight": "22",
"make_image": "https://...",
"terrain": "Highway",
"studdable": false,
"three_pmsf": false,
"run_flat": false,
"mud_and_snow": true,
"size_format": "Modern",
"thumbnail_image": null,
"angle_image_url": "https://...",
"side_image_url": "https://...",
"side2_image_url": "https://...",
"front_image_url": "https://...",
"front_image_url": "https://...",
"side2_image_url": "https://...",
"front_image_url": "https://...",
"rotation_image_url": "https://...",
"rotation_image_url": "https://...",
"image_url": "https://..."
}
],
"from": 1,
"last_page": 5,
"per_page": 30,
"to": 30,
"total": 150
},
"facets": {
"make_name": ["Michelin", "Bridgestone", "Goodyear", "..."],
"width": ["155", "165", "175", "185", "195", "205", "..."],
"aspect_ratio": ["40", "45", "50", "55", "60", "65", "..."],
"rim_size": ["14", "15", "16", "17", "18", "..."],
"speed_rating": ["H", "V", "W", "Y", "..."],
"load_rating": ["93", "97", "101", "..."],
"ply_rating": ["4", "6", "8", "..."],
"load_range": ["SL", "XL", "E", "..."],
"utqg": ["820 A B", "740 A A", "..."],
"warranty": ["90000", "80000", "60000", "..."],
"season": ["All Season", "Winter", "Summer", "..."],
"terrain": ["Highway", "All-Terrain", "Mud-Terrain", "..."],
"category": ["Passenger", "Light Truck", "..."],
"size_format": ["Imperial", "Imperial Truck", "Lawn and Garden", "Modern", "OD"]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
results | object | Paginated tire results (same fields as Search Tires) |
facets | object | Available filter values for building interactive UIs |
facets.make_name | string[] | Distinct make names in the result set |
facets.width | string[] | Distinct widths |
facets.aspect_ratio | string[] | Distinct aspect ratios |
facets.rim_size | string[] | Distinct rim sizes |
facets.speed_rating | string[] | Distinct speed ratings |
facets.load_rating | string[] | Distinct load ratings |
facets.ply_rating | string[] | Distinct ply ratings |
facets.load_range | string[] | Distinct load ranges |
facets.utqg | string[] | Distinct UTQG ratings |
facets.warranty | string[] | Distinct warranty values |
facets.season | string[] | Distinct seasons |
facets.terrain | string[] | Distinct terrain values |
facets.category | string[] | Distinct categories |
facets.size_format | string[] | Distinct size formats |
Error Responses
| Status | Condition |
|---|---|
401 | Missing or invalid API key |
Related Endpoints
- Tire Makes — get make names for the
make_namefilter - Tire Categories — reference list of category values for the
categoryandexclude_categoryfilters
Get Tire by ID
GET
/api/v1/tires/{id}
Get the full specification sheet for a single tire size, including dimensions, performance ratings, images, rebates, and vehicle fitments.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | long | Tire size ID (obtained from search or catalog endpoints) |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
rebate_status | string | No | — (returns all) | Filter rebates by status: Active, Upcoming, or Expired. Without this parameter, all rebates are returned. |
Code Examples
curl -H "x-api-key: tl_live_your_key" \
"https://app.tireweblibrary.com/api/v1/tires/12345"
# Only include active rebates
curl -H "x-api-key: tl_live_your_key" \
"https://app.tireweblibrary.com/api/v1/tires/12345?rebate_status=Active"
const response = await fetch(
"https://app.tireweblibrary.com/api/v1/tires/12345",
{ headers: { "x-api-key": "tl_live_your_key" } }
);
const tire = await response.json();
// Only include active rebates
const response2 = await fetch(
"https://app.tireweblibrary.com/api/v1/tires/12345?rebate_status=Active",
{ headers: { "x-api-key": "tl_live_your_key" } }
);
const tire2 = await response2.json();
import requests
response = requests.get(
"https://app.tireweblibrary.com/api/v1/tires/12345",
headers={"x-api-key": "tl_live_your_key"},
)
tire = response.json()
# Only include active rebates
response = requests.get(
"https://app.tireweblibrary.com/api/v1/tires/12345",
params={"rebate_status": "Active"},
headers={"x-api-key": "tl_live_your_key"},
)
tire = response.json()
Response
{
"id": 12345,
"name": "205/65R15",
"item_number": "12345",
"upc": "086699212345",
"ean": "00866992123455",
"asin": "B0CX12AB34",
"gm_code": "356096357",
"width": "205",
"aspect_ratio": "65",
"rim_size": "15",
"load_rating": "97",
"speed_rating": "H",
"price": "129.99",
"load_capacity_dual": "1709",
"load_capacity_single": "1609",
"max_inflation_pressure": "44",
"revolutions_per_mile": "775",
"rolling_circumference": "81.8",
"diameter_overall": "25.5",
"sidewall": "5.3",
"section_width": "8.5",
"weight": "22",
"warranty": "90000",
"utqg": "820 A B",
"ply_rating": "4",
"load_range": "SL",
"tread_depth": "9.5",
"category": "Passenger",
"season": "All Season",
"terrain": "Highway",
"studdable": false,
"three_pmsf": false,
"run_flat": false,
"mud_and_snow": true,
"thumbnail_image": null,
"tire_make": {
"id": 90,
"name": "Michelin",
"image_url": "https://...",
"dot_reg_url": "https://..."
},
"tire_model": {
"id": 678,
"name": "Defender T+H",
"image_url": "https://...",
"angle_image_url": "https://...",
"side_image_url": "https://...",
"side2_image_url": "https://...",
"front_image_url": "https://...",
"rotation_image_url": "https://...",
"rotation_frame_count": 36,
"image_360_url": "https://...",
"image_360_thumbnail_url": "https://...",
"video_url": "https://...",
"manufacturer_url": "https://...",
"features": "Extended tread life...",
"benefits": "All-season confidence...",
"description": "...",
"three_pmsf": false
},
"rebates": [
{
"id": 10,
"name": "Spring Rebate",
"description": "Save on select Michelin tires",
"start_date": "2025-03-01",
"end_date": "2025-05-31",
"global": false,
"status": "Active"
}
],
"fitments_grouped": {
"Chevrolet": {
"Equinox": [
{ "trim": "L", "years": "2018-2021", "year_list": [2018, 2019, 2020, 2021] },
{ "trim": "LS", "years": "2018-2024", "year_list": [2018, 2019, 2020, 2021, 2022, 2023, 2024] },
{ "trim": "LT", "years": "2018-2024", "year_list": [2018, 2019, 2020, 2021, 2022, 2023, 2024] }
]
},
"Ford": {
"Escape": [
{ "trim": "SE", "years": "2020-2022", "year_list": [2020, 2021, 2022] }
]
}
}
}Response Fields
| Field | Type | Description |
|---|---|---|
id | long | Unique tire size identifier |
name | string | Tire size name (e.g. "205/65R15") |
item_number | string? | Item number / SKU |
upc | string? | Universal Product Code (UPC, 12 digits); null when not provided by the manufacturer |
ean | string? | International Article Number (EAN-13); null when unavailable |
asin | string? | Amazon Standard Identification Number; null when unavailable |
gm_code | string? | GM code; null when unavailable |
width | string? | Tire width in mm |
aspect_ratio | string? | Aspect ratio |
rim_size | string? | Rim diameter in inches |
load_rating | string? | Load rating code |
speed_rating | string? | Speed rating code |
price | string? | List price |
load_capacity_dual | string? | Load capacity for dual fitment (lbs) |
load_capacity_single | string? | Load capacity for single fitment (lbs) |
max_inflation_pressure | string? | Maximum inflation pressure (PSI) |
revolutions_per_mile | string? | Revolutions per mile |
rolling_circumference | string? | Rolling circumference (inches) |
diameter_overall | string? | Overall diameter (inches) |
sidewall | string? | Sidewall height (inches) |
section_width | string? | Section width (inches) |
weight | string? | Tire weight (lbs) |
warranty | string? | Warranty mileage |
utqg | string? | UTQG rating (e.g. "820 A B") |
ply_rating | string? | Ply rating |
load_range | string? | Load range (e.g. "SL") |
tread_depth | string? | Tread depth (32nds of an inch) |
category | string? | Tire category |
season | string? | Season classification |
terrain | string? | Terrain classification |
studdable | bool? | Studdable tire |
three_pmsf | bool | Three-Peak Mountain Snowflake certification |
run_flat | bool | Run-flat tire |
mud_and_snow | bool | M+S rated |
thumbnail_image | string? | Deprecated — always null. Use angle_image_url / side_image_url / image_url (per-model images) instead. |
tire_make | object? | Nested make object with id, name, image_url, dot_reg_url |
tire_model | object? | Nested pattern object with id, name and images: image_url (legacy pattern JPG) plus per-model angle_image_url (500x500 angled tread photo), side_image_url, side2_image_url, front_image_url (all null when unavailable, cache-busting ?v=), rotation_image_url/rotation_frame_count (360° spin poster + frame count, when the pattern has a spin set); then image_360_url, image_360_thumbnail_url, video_url, manufacturer_url, features, benefits, description, three_pmsf |
rebates | array | Applicable rebates with id, name, description, start_date, end_date, global, status |
fitments_grouped | object? | Vehicle fitments for this size, grouped by make, then model. Outer keys are make names, inner keys are model names, and each model maps to an array of objects with trim (string, the trim level), years (string: individual years and collapsed ranges for display, e.g. "2019, 2021-2023"), and year_list (int array: every applicable model year, e.g. [2019, 2021, 2022, 2023] — use this for programmatic year matching instead of parsing years). null when no fitment data exists for this size. |
Tire-level images deprecated. Legacy per-size image fields (
thumbnail_image, angle_image, front_image, side_image, side2_image, image_0100, image_0200, image_0301) always return null. Use the per-model images instead: tire_model.image_url / tire_model.angle_image_url (search and catalog also expose image_url, angle_image_url, side_image_url, side2_image_url, front_image_url and rotation_image_url).
Error Responses
| Status | Condition |
|---|---|
401 | Missing or invalid API key |
404 | Tire with the given ID does not exist |
Related Endpoints
- Tire Patterns — get pattern details for the
tire_model_id - Tire Makes — get make details for the
tire_make_id - Vehicle Fitments — look up vehicles that fit this tire size
- Rebates — get full rebate details
Compare & Export not available. The
/api/v1/tires/compare and /api/v1/tires/compare-export endpoints require a logged-in web session and are not available via API keys.