---
title: "Get closest competitors"
method: GET
path: "/v1/models/{modelId}/competitors"
tags: ["models"]
---

# Get closest competitors

`GET /v1/models/{modelId}/competitors`

## Request

- Base URL: `https://modelglass-api.vercel.app`
- URL: `https://modelglass-api.vercel.app/v1/models/{modelId}/competitors`
- Auth: HTTP bearer

Returns closest competitors for a model, enriched with live pricing data. Each competitor entry includes name, provider, current_price, last_price and price_delta_ratio. current_price is null when the competitor has no current price (retired or withdrawn); last_price then carries the last price it charged and its last day (effective_to), and is never a live price. price_delta_ratio (competitor/source current price) is null when either side has no current price or the units differ.

## Path parameters

- `modelId` string, required

## Response `200`

Enriched competitor list (empty array if none defined for this model).

- object
  - `ok` true, required
  - `data` object, required
    - `model_id` string
    - `source_slug` string, nullable
    - `competitors` object[]
      - `slug` string
      - `step_distance` integer
      - `notes` string, nullable
      - `model_id` string, nullable
      - `model_name` string, nullable
      - `provider` string, nullable
      - `current_price` object, nullable
        - `amount` number
        - `currency` string
        - `unit` string
      - `last_price` object, nullable: Only when current_price is null (a retired or withdrawn competitor): the last price it charged and its last day (effective_to, inclusive; null if open-ended). Not a live price.
        - `amount` number
        - `currency` string
        - `unit` string
        - `effective_to` string, date, nullable
      - `price_delta_ratio` number, nullable
  - `meta` ResponseMeta, required
    - `artifact_version` integer, required
    - `built_at` string, date-time, required
    - `count` integer: Item count when `data` is a collection.

## Other responses

- `401`: Missing, unknown, or revoked API key (UNAUTHORIZED / NOT_FOUND).
- `404`: No model with that id (NOT_FOUND).
- `429`: Over the plan's daily rate limit (RATE_LIMITED).
- `500`: Unexpected server error (INTERNAL).

---

[API](https://skmtc.dev/modelglass/apis/modelglass-read-api.md) · [All operations](https://skmtc.dev/modelglass/apis/modelglass-read-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelglass/apis/modelglass-read-api/revisions/5948ffa60462?raw)
