New Listings
Track new Spot listings, Perp listings, delistings, suspensions, resumptions, and scheduled trading starts across major CEXs and Perp DEXs. Enabled connectors refresh hourly and every canonical event carries verification metadata.
The canonical dataset is exchange_listing_events. The legacy exchange_listings aggregate remains available for backward-compatible recent and hub payloads while new event APIs expose the richer lifecycle model.
Listing events
Returns the canonical event feed used by the listings feed and calendar views. Supports CEX Spot markets, derivatives markets, and Perp DEX venues.
Query parameters
- Name
exchange- Type
- string
- Description
Filter to a single venue, for example
binance,okx,bitget,hyperliquid, oraster.
- Name
venue_type- Type
- string
- Description
cex,perp_dex, ordex.
- Name
market_type- Type
- string
- Description
spot,perp,futures,options, ormargin.
- Name
event_type- Type
- string
- Description
listing,delisting,suspension,resumption, orprelaunch.
- Name
asset_class- Type
- string
- Description
token,spot_pair,perp_contract,futures_contract, oroptions_contract.
- Name
status- Type
- string
- Description
announced,scheduled,live,completed,cancelled, orneeds_review.
- Name
confidence- Type
- string
- Description
authoritative,high,medium,low,proxy, ormanual.
- Name
narrative- Type
- string
- Description
Filter by Sharpe narrative slug.
- Name
from- Type
- string
- Description
ISO date or datetime lower bound.
- Name
to- Type
- string
- Description
ISO date or datetime upper bound.
- Name
days- Type
- integer
- Description
Lookback window in days. Range 1-365. Default 90.
- Name
limit- Type
- integer
- Description
Max rows returned. Range 1-1000. Default 200.
- Name
cursor- Type
- string
- Description
Cursor returned as
next_cursorfor pagination.
cURL
curl -G https://www.sharpe.ai/api/v1/listings/events \
-H "Authorization: Bearer sk_live_your_key_here" \
--data-urlencode "market_type=perp" \
--data-urlencode "event_type=listing" \
--data-urlencode "confidence=authoritative"
Response shape
{
"data": {
"rows": [
{
"event_uid": "f9cf0df0c3e214f0bb3b5fa63ab76787",
"exchange": "hyperliquid",
"venue_type": "perp_dex",
"market_type": "perp",
"event_type": "listing",
"instrument_id": "HYPE-USD-PERP",
"token_symbol": "HYPE",
"effective_at": "2026-05-21T00:00:00Z",
"status": "live",
"source_kind": "official_api",
"source_confidence": "authoritative",
"source_url": "https://api.hyperliquid.xyz/info"
}
],
"next_cursor": null,
"window_days": 90,
"source": "events"
},
"meta": {
"request_id": "req_abc123def456ghij",
"timestamp": "2026-05-21T12:00:00.000Z",
"elapsed_ms": 8
}
}
Exchange coverage
Returns the typed connector registry: supported market types, source URLs, parser confidence, enabled status, and polling group for each exchange.
Query parameters
- Name
venue_type- Type
- string
- Description
Optional filter:
cex,perp_dex, ordex.
- Name
market_type- Type
- string
- Description
Optional filter:
spot,perp,futures,options, ormargin.
- Name
enabled- Type
- string
- Description
trueorfalse.
cURL
curl -G https://www.sharpe.ai/api/v1/listings/exchanges \
-H "Authorization: Bearer sk_live_your_key_here" \
--data-urlencode "market_type=perp"
Hub payload
Returns the full New Listings hub payload: weekly and monthly aggregated counts by narrative and by exchange, recent listings for the last 90 days, and summary stats. This is the same data that powers the /new-listings terminal page.
Query parameters
- Name
narrative- Type
- string
- Description
Filter to a single narrative slug (e.g.
ai-agents,memes,layer-1,rwa,defi). When set, all returned counts are scoped to that narrative.
- Name
exchange- Type
- string
- Description
Filter to a single exchange. Legacy aggregates currently contain enabled compatibility venues; event APIs expose the full registry.
Response fields
- Name
weekly- Type
- array
- Description
Weekly buckets, last 26 weeks. Each element:
{ bucket_date, exchange, narrative_slug, listing_count }.bucket_dateis ISO-week Monday (UTC).
- Name
monthly- Type
- array
- Description
Monthly buckets, last 12 months. Same shape as
weeklybut with month-startbucket_date.
- Name
recent- Type
- array
- Description
Raw rows from the last 90 days, newest first. Each:
{ id, token_symbol, token_name, token_id, exchange, listing_date, listing_date_source, narrative_slug }.
- Name
totals- Type
- object
- Description
{ thisWeek, lastWeek, thisMonth, lastMonth }— listing counts for UI delta calculations.
- Name
topNarrativesThisMonth- Type
- array
- Description
Top 5 narratives ranked by listing count in the current month. Each:
{ narrative_slug, count }.
- Name
topExchangesThisMonth- Type
- array
- Description
Top 5 exchanges ranked by listing count in the current month. Each:
{ exchange, count }.
- Name
lastListingAt- Type
- string
- Description
Freshest
listing_dateacross active rows (ISO date). Null if no data yet.
- Name
lastUpdatedAt- Type
- string
- Description
Latest
categorized_attimestamp (when any row was last triaged or refreshed).
Request
curl -G https://www.sharpe.ai/api/v1/listings/data \
-H "Authorization: Bearer sk_live_your_key_here" \
--data-urlencode "narrative=ai-agents"
Response (truncated)
{
"data": {
"weekly": [
{ "bucket_date": "2026-03-30", "exchange": "mexc",
"narrative_slug": "ai-agents", "listing_count": 5 }
],
"monthly": [
{ "bucket_date": "2026-03-01", "exchange": "mexc",
"narrative_slug": "ai-agents", "listing_count": 12 }
],
"recent": [
{ "token_symbol": "GRASS", "token_name": "Grass",
"token_id": "grass", "exchange": "mexc",
"listing_date": "2024-12-07",
"listing_date_source": "exchange_kline",
"narrative_slug": "ai-agents" }
],
"totals": { "thisWeek": 0, "lastWeek": 2,
"thisMonth": 14, "lastMonth": 36 },
"topNarrativesThisMonth": [
{ "narrative_slug": "ai-agents", "count": 3 },
{ "narrative_slug": "memes", "count": 3 }
],
"topExchangesThisMonth": [
{ "exchange": "mexc", "count": 9 }
],
"lastListingAt": "2026-04-13",
"lastUpdatedAt": "2026-04-21T00:08:32Z"
},
"meta": {
"request_id": "req_abc123def456ghij",
"timestamp": "2026-04-21T00:09:00.000Z",
"elapsed_ms": 10
}
}
Recent listings feed
A flat list of recent token listings. Defaults remain compatible with the legacy spot feed. Event-specific filters such as market_type, event_type, status, and confidence switch the endpoint to the canonical event feed while preserving the old row shape.
Query parameters
- Name
narrative- Type
- string
- Description
Filter to a single narrative slug.
- Name
exchange- Type
- string
- Description
Filter to a single exchange, including enabled compatibility venues and event-registry venues such as
bitget,hyperliquid, oraster.
- Name
venue_type- Type
- string
- Description
Optional event-feed filter:
cex,perp_dex, ordex.
- Name
market_type- Type
- string
- Description
Optional event-feed filter:
spot,perp,futures,options, ormargin.
- Name
event_type- Type
- string
- Description
Optional event-feed filter:
listing,delisting,suspension,resumption, orprelaunch.
- Name
asset_class- Type
- string
- Description
Optional event-feed instrument filter:
token,spot_pair,perp_contract,futures_contract, oroptions_contract.
- Name
status- Type
- string
- Description
Optional event-feed status filter:
announced,scheduled,live,completed,cancelled, orneeds_review.
- Name
confidence- Type
- string
- Description
Optional source confidence filter.
- Name
from- Type
- string
- Description
ISO date or datetime lower bound.
- Name
to- Type
- string
- Description
ISO date or datetime upper bound.
- Name
days- Type
- integer
- Description
Lookback window in days. Range 1-365. Default 90.
- Name
limit- Type
- integer
- Description
Max rows returned. Range 1-1000. Default 200.
- Name
cursor- Type
- string
- Description
Cursor returned as
next_cursorfor pagination.
Response fields
- Name
rows- Type
- array
- Description
Array of listing rows sorted by
listing_datedescending. Each:{ token_symbol, token_name, token_id, exchange, listing_date, listing_date_source, narrative_slug }.
- Name
count- Type
- integer
- Description
Number of rows returned.
- Name
window_days- Type
- integer
- Description
Echo of the
daysparameter for clarity.
- Name
next_cursor- Type
- string | null
- Description
Present on event-feed responses; pass it as
cursorto request the next page.
Source values
Legacy rows carry listing_date_source; canonical event rows carry source_kind and source_confidence:
exchange_kline— derived from the exchange's own k-line first-trade timestamp (authoritative)official_api/official_status— parsed from an exchange or perp DEX public endpointofficial_announcement— parsed from an exchange announcement sourcemarket_data— inferred from market data when no announcement source existsproxy/first_seen— when Sharpe first observed the instrumentmanual— admin-set
Request
curl -G https://www.sharpe.ai/api/v1/listings/recent \
-H "Authorization: Bearer sk_live_your_key_here" \
--data-urlencode "exchange=binance" \
--data-urlencode "days=30"
Response (truncated)
{
"data": {
"rows": [
{ "token_symbol": "TRUMP", "token_name": "Official Trump",
"token_id": "official-trump",
"exchange": "binance",
"listing_date": "2025-01-19",
"listing_date_source": "exchange_kline",
"narrative_slug": "memes" }
],
"count": 1,
"window_days": 30
},
"meta": {
"request_id": "req_abc123def456ghij",
"timestamp": "2026-05-21T12:00:00.000Z",
"elapsed_ms": 9
}
}
Narratives
Every listing is tagged to one of Sharpe's 30 canonical narrative slugs (same taxonomy as /v1/narratives/data). Tokens without resolved Sharpe categories are excluded from all public endpoints — only rows with status = 'active' and a resolved narrative are exposed.
Supported narrative slugs
layer-1 · layer-2 · defi · ai-agents · defai · depin · desci · gaming · dex-tokens · cex-tokens · lending · memes · nfts · oracles · privacy · rwa · stablecoins · restaking · liquid-staking · modular · socialfi · intent · prediction-markets · perps · bridges · account-abstraction · tap-to-earn · telegram-apps · zk · yield-farming
Update cadence
Listing announcements are not high-frequency market data, but launch workflows benefit from tighter freshness. Enabled connectors run hourly in grouped cron windows, and the rollup cron follows after ingestion to refresh compatibility and event-derived materialized views.
| Component | Schedule |
|---|---|
| Core listing events ingest | 7 * * * * UTC |
| Extended listing events ingest | 22 * * * * UTC |
| Rollup (compatibility + event matviews) | 55 * * * * UTC |
Core starts with the existing enabled connectors plus high-signal venues staged in the registry. Extended contains remaining top spot/derivatives exchanges with lower per-run budgets. Disabled connectors stay out of cron until fixture parsing and rate-limit behavior pass validation.