---
title: "Which curated event covers this article URL? Exact match on the canonical URL (scheme, www, tracking params, hash and trailing slash ignored); coverage lists outlet + link only"
method: GET
path: "/api/v1/lookup"
---

# Which curated event covers this article URL? Exact match on the canonical URL (scheme, www, tracking params, hash and trailing slash ignored); coverage lists outlet + link only

`GET /api/v1/lookup`

## Request

- Base URL: `https://heatpulse.cc`
- URL: `https://heatpulse.cc/api/v1/lookup`
- Auth: none declared

## Query parameters

- `url` string, uri, required

## Response `200`

match 'exact' (event + coverage) or 'none' (event null); Cache-Control private, no-store

- object
  - `match` 'exact' | 'none'
  - `event` Event
    - `id` integer
    - `slug` string
    - `title` string
    - `summary` string: Original editorial summary (not a publisher excerpt)
    - `why_it_matters` string, nullable
    - `category` string
    - `tags` string[]
    - `heat` number: Cross-source heat score
    - `source_count` integer
    - `first_seen` string
    - `domains` string[]
    - `langs` string[]
    - `url` string: Canonical page path on heatpulse.cc
  - `coverage` object[]
    - `source_name` string
    - `url` string
    - `language` string
    - `published_at` string

## Other responses

- `400`: Missing/invalid url (absolute http(s), max 2048 chars)
- `429`: Rate limited (120 req/min/IP)

---

[API](https://skmtc.dev/heatpulse/apis/heatpulse-agent-api.md) · [All operations](https://skmtc.dev/heatpulse/apis/heatpulse-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/heatpulse/apis/heatpulse-agent-api/revisions/13aa08eaae7e?raw)
