---
title: "Get rate benchmark statistics"
method: GET
path: "/v1/benchmarks"
tags: ["Data & Analytics"]
---

# Get rate benchmark statistics

`GET /v1/benchmarks`

## Request

- Base URL: `https://api.rateapi.dev`
- URL: `https://api.rateapi.dev/v1/benchmarks`
- Auth: API key in header `X-API-Key`

Returns aggregate rate statistics (min, median, max APR) across all institutions for each product type. Ideal for benchmark pages, market analysis, and rate comparisons. Data is based on rates scraped within each product category's freshness window (see /v1/coverage).

## Query parameters

- `product_type` 'mortgage_30yr' | 'mortgage_15yr' | 'mortgage_arm' | 'auto_loan_new' | 'auto_loan_used' | 'rv' | 'boat' | 'motorcycle' | 'powersports' | 'heloc' | 'personal_loan' | 'student_loan' | 'credit_card' | 'equipment_loan'
- `state` string

## Response `200`

Benchmark statistics

- BenchmarksResponse: Rate benchmark statistics across all institutions
  - `benchmarks` BenchmarkStats[], required: Benchmark statistics for each product type
    - `product_type` 'mortgage_30yr' | 'mortgage_15yr' | 'mortgage_arm' | 'auto_loan_new' | 'auto_loan_used' | 'heloc' | 'personal_loan' | 'student_loan' | 'credit_card' | 'equipment_loan', required: Product type identifier
    - `display_name` string, required: Human-readable product name
    - `count` integer, required: Number of institutions with this product
    - `min_apr` number, nullable: Lowest APR observed
    - `min_apr_institution` string, nullable: Institution offering the lowest APR. A DISPLAY name, not an identity: it is truncated to the institution's name stem and is not unique across states. Use min_apr_institution_id to identify the lender.
    - `min_apr_institution_id` string, nullable: Canonical identifier of the institution offering the lowest APR, in `name|city|ST` form. Null on benchmarks precomputed before this field existed.
    - `min_apr_state` string, nullable: State of the institution with lowest APR
    - `median_apr` number, nullable: Median APR across all institutions
    - `max_apr` number, nullable: Highest APR observed
    - `min_rate` number, nullable: Lowest interest rate observed
    - `max_rate` number, nullable: Highest interest rate observed
    - `as_of` string, date-time: Timestamp of the most recent rate data
  - `summary` object, required: Summary of the benchmark data
    - `total_institutions` integer: Total number of institutions with rate data
    - `products_available` integer: Number of product types with data
    - `state_filter` string, nullable: State filter applied (null if nationwide)
  - `generated_at` string, date-time, required: When this response was generated

## Other responses

- `400`: Invalid parameters
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/rateapi/apis/rate-api.md) · [All operations](https://skmtc.dev/rateapi/apis/rate-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rateapi/apis/rate-api/revisions/06a6db76995f?raw)
