The Pulse Rolex Index API
Read-only JSON for the daily index and the market value of each tracked Rolex reference. Every number is built from confirmed resale sales, not asking prices, and refreshes once a day after the morning sweep.
Quick start
1. Get a key. Sign up with an email and your free key appears on the next screen. 2. Send it on every request as Authorization: Bearer <key> (or ?key=<key> if you cannot set headers). Everything lives under https://www.thepulse.fun/v1/; responses are JSON with Access-Control-Allow-Origin: *, so a browser, a server or a spreadsheet can call them.
export PULSE_KEY=pk_live_your_key_here
curl -H "Authorization: Bearer $PULSE_KEY" https://www.thepulse.fun/v1/index
curl -H "Authorization: Bearer $PULSE_KEY" https://www.thepulse.fun/v1/prices/126610LN
curl -H "Authorization: Bearer $PULSE_KEY" https://www.thepulse.fun/v1/prices/126610LN/history # Developer tier
const r = await fetch("https://www.thepulse.fun/v1/index", {
headers: { Authorization: "Bearer " + PULSE_KEY }
});
const { index, change_pct, as_of, plan } = await r.json();
console.log(index.level, change_pct.level_7d, as_of, plan.remaining);
plan block (tier, daily_limit, remaining, reset_in_seconds) and X-RateLimit-* headers, so you always know where you stand. Only successful reads count against the limit.126610LN, 126710BLRO. Call /v1/references for the tracked set. Anything else returns 404.Endpoints
| Endpoint | Returns |
|---|---|
GET /v1 | Discovery: status, tiers, endpoint list, link to the OpenAPI spec. No key needed. |
GET /v1/index | The latest index print: level, components, 1d/7d/30d changes, typical sale value, confirmed sales, dollar flow, plus plain-English field notes. Free |
GET /v1/references | All tracked references with model name, latest market value and changes. Free |
GET /v1/prices/{reference} | Latest market value for one reference with 1d/7d/30d changes and its own relative level. Free |
GET /v1/index/history | Every daily print since the base date as parallel arrays keyed by dates. Developer |
GET /v1/prices/{reference}/history | Daily market value history for one reference. Developer |
GET /v1/movers | Top three gainers and losers over the trailing 7 days. Developer |
Example: /v1/index
{
"api_version": "v1",
"as_of": "2026-09-08",
"index": {
"name": "The Pulse Rolex Index",
"base_date": "2026-05-20",
"base_value": 100,
"level": 100.89,
"average_watch": 100.73,
"average_watch_smoothed": 100.58,
"activity": 72.6,
"total_return": 109.58,
"typical_sale_usd": 15246,
"confirmed_sales": 134,
"dollar_flow_usd": 2490000
},
"change_pct": { "level_1d": 0.27, "level_7d": 1.69, "level_30d": 1.83 },
"history_days": 70,
"references_tracked": 14
}
Fields, in plain English
| Field | Type | Meaning |
|---|---|---|
level | number | The headline index. Base 100 on base_date. Evidence-weighted so a thin day or a single outlier sale cannot move it much. |
average_watch | number | Equal-weight average of the tracked references relative to base. Unsmoothed, so it is noisier than level. |
average_watch_smoothed | number | The same series with a 3-day half-life exponential smooth. |
activity | number | Sales pace versus the long-run baseline (100 = baseline). Combines the number of confirmed sales and the dollars that changed hands. |
total_return | number | average_watch scaled by smoothed activity. Read it as price times liquidity. |
typical_sale_usd | number | Median sale value across the basket, adjusted for the observed gap between asking and sold prices. |
confirmed_sales | integer | Listings verified missing across two consecutive daily sweeps. Never a same-day count. |
market_value_usd | number | A reference's current market value from its own confirmed sales, adjusted for the ask-to-sold gap. Carried forward on days with too few sales to print. |
change_7d_pct | number | null | Percent change versus the print 7 calendar days earlier. null when history is too short. |
as_of | date | Date of the latest confirmed print. Because a sale is only confirmed on the following sweep, as_of is normally yesterday. |
Full method, including screens and protections, is on the methodology page.
Authentication and limits
Every endpoint except /v1 needs a key. Limits are per key, per UTC day, and reset at 00:00 UTC. Data changes once a day, so please cache: one call per endpoint per day is all a well-behaved integration needs.
Free
- Key issued instantly at sign-up, no card.
- 100 requests a day.
- Latest values:
/v1/index,/v1/references,/v1/prices/{reference}. - History and movers return
403 upgrade_required.
Developer ($99 per month)
- 10,000 requests a day.
- Everything, including all
/historyendpoints and/v1/movers. - Every new reference we add, the day we add it.
- Founding rate locked for early accounts. Upgrade in one click from your dashboard (Lemon Squeezy checkout); cancel any time from the same place.
Errors
| Status | error | Meaning |
|---|---|---|
| 401 | missing_api_key / invalid_api_key | No key, an unknown key, or a revoked key. The body includes a sign-up link. |
| 403 | upgrade_required | The endpoint is outside your tier (history and movers on Free). The body includes an upgrade link. Not counted against your limit. |
| 404 | unknown_reference / not_found | A reference we do not track, or an unknown path. Not counted against your limit. |
| 429 | rate_limited | Daily limit reached. Retry-After and reset_in_seconds tell you when it resets. |
| 503 | data_unavailable | The daily data file is missing during a refresh. Retry in a minute. |
License and attribution
On every tier you may display and redistribute the data, as long as you credit The Pulse (thepulse.fun) wherever it appears. A short "Data: The Pulse Rolex Index" with a link is enough. Do not present the index as your own, and do not strip as_of when you display a value; a price without its date misleads people.
Informational only. Nothing here is investment, valuation or insurance advice.
What's next
In order: keys delivered by email as well as on screen; more Rolex references as their confirmed-sales history matures; a valuation endpoint that adjusts for condition, box and papers; alerts. If one of these matters to you, say so when you sign up. It shapes the order.