Highlight APIhighlight.xyz ↗
Access Highlight.xyz NFT data via 6 endpoints. Retrieve trending collections, search by keyword, view mint vectors, list collectors, and find top sponsors.
What is the Highlight API?
The Highlight.xyz API exposes 6 endpoints covering NFT collection discovery, collector data, and mint activity on Highlight.xyz. Starting with get_trending_collections, you can pull up to 20 collections ranked by mint volume over a configurable time window, then drill into any collection's mint vectors, edition details, and creator settings via get_collection_details using a chain:address identifier.
curl -X GET 'https://api.parse.bot/scraper/e398919f-4fa0-4a14-b39a-fe60d9aed2f8/get_trending_collections?period_hours=168' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace highlight-xyz-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Highlight.xyz NFT Collections SDK — discover trending mints and analyze collections."""
from parse_apis.Highlight_xyz_NFT_Collections_API import Highlight, CollectionNotFound
client = Highlight()
# Fetch trending collections from the last week, capped at 5 total items.
for col in client.collection_summaries.trending(period_hours=168, limit=5):
print(col.name, col.chainName, col.mintsCount, "mints")
# Drill into the top trending collection for full details.
top = client.collection_summaries.trending(limit=1).first()
if top:
detail = top.details()
print(detail.name, detail.standard, detail.collectionType, f"{detail.supply}/{detail.size}")
# List the top collectors for this collection.
for collector in detail.collectors.list(limit=3):
print(collector.walletAddress, collector.ensName, collector.tokensCount, "tokens")
# Explore sponsors on the first mint vector (if any).
if detail.mintVectors:
mv = detail.mintVectors[0]
for sponsor in mv.sponsors.list(limit=3):
print(sponsor.user.displayName, sponsor.totalNumSponsored, "sponsored")
# Search for a collection by keyword and explore related projects.
found = client.collection_summaries.search(query="generative", limit=1).first()
if found:
for related in found.related_projects.list(limit=3):
print(related.name, related.chainName, related.supply)
# Typed error handling: catch a not-found collection.
try:
client.collections.get(collection_id="ethereum:0x0000000000000000000000000000000000000000")
except CollectionNotFound as exc:
print(f"Collection not found: {exc.collection_id}")
print("exercised: trending / details / collectors.list / sponsors.list / search / related_projects.list / get")Fetches trending NFT collections from Highlight.xyz ranked by recent mint activity. Returns up to 20 collections sorted by total mints within the specified time window. Each result includes mint count, pricing, supply, and creator info. The period_hours parameter controls the lookback window for calculating trending rank.
| Param | Type | Description |
|---|---|---|
| period_hours | integer | Time period in hours for calculating trending rank. 168 = 1 week, 24 = 1 day. |
{
"type": "object",
"fields": {
"items": "array of collection summary objects with id, onchainId, name, description, chainId, chainName, price, supply, mintsCount, creator, and url"
},
"sample": {
"data": {
"items": [
{
"id": "69f9ab5c75f0abb8d326a424",
"url": "https://highlight.xyz/mint/ethereum:0xb8300eE6bB9619d0e23F727a7ef1B6EfEAa177f5",
"name": "La Floristeria",
"price": "0",
"supply": 3507,
"chainId": 1,
"creator": {
"verified": null,
"displayName": null,
"displayAvatar": "https://highlight-creator-assets.highlight.xyz/main/image/e1b72408-d575-4c75-8ba4-dbb95a412194.png",
"walletAddresses": [
"REDACTED_KEY"
]
},
"chainName": "Ethereum",
"onchainId": "ethereum:0xb8300eE6bB9619d0e23F727a7ef1B6EfEAa177f5",
"mintsCount": 1946,
"description": "La Floristería. A unique generative artwork."
}
]
},
"status": "success"
}
}About the Highlight API
Collection Discovery and Search
The get_trending_collections endpoint returns up to 20 collections sorted by recent mint activity. The period_hours parameter controls the lookback window — pass 168 for a 7-day view or a shorter value for same-day trending. The search_collections endpoint accepts a query string and returns up to 10 matching collections by name, useful for lookup workflows where you already have a partial collection name.
Collection Details and Mint Vectors
get_collection_details takes a collection_id in chain:address format (e.g. base:0x552404547278bC2ACd1dEF223e261473c78380e9) and returns the full collection object: mintVectors, editions, creatorAccountSettings, and chain metadata. The mintVectors array is particularly important — each entry contains an id field that feeds into get_collection_top_sponsors, which paginates sponsor data for that specific mint vector via page and limit parameters and returns a sponsors array alongside a pageInfo object with totalCount.
Collectors and Related Projects
get_collection_collectors retrieves wallet addresses that have minted from a given collection, including ENS names and per-wallet token counts. Pagination is handled through a cursor integer offset and limit parameter; the response includes a hasNext boolean and totalCount for building paginated UIs. get_collection_related_projects returns a collections array of other projects by the same creator, making it straightforward to traverse a creator's full catalog from a single starting collection.
The Highlight API is a managed, monitored endpoint for highlight.xyz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when highlight.xyz changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official highlight.xyz API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track NFT mint momentum by polling
get_trending_collectionswith differentperiod_hoursvalues to detect short-term vs. weekly trends. - Build a creator portfolio page by combining
get_collection_detailsandget_collection_related_projectsfor a given creator's collection address. - Compile a collector leaderboard using
get_collection_collectorswith ENS name resolution and token count fields. - Identify top financial backers of a specific mint campaign using
get_collection_top_sponsorswith mint vector IDs from collection details. - Power a collection search feature in an NFT aggregator using
search_collectionswith a user-supplied keyword. - Audit cross-chain collection presence by parsing the
chainfield inget_collection_detailsresponses across multiple collection IDs.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Highlight.xyz have an official public developer API?+
What does `get_collection_collectors` return, and how does pagination work?+
members array of wallet addresses with associated ENS names and token counts, plus a totalCount integer and a hasNext boolean. Pagination uses an integer cursor as an offset alongside a limit parameter. Increment the cursor by the page size to advance through results.How do I get the `mint_vector_id` needed for `get_collection_top_sponsors`?+
get_collection_details with the target collection_id. The response contains a mintVectors array; each entry has an id field. Pass that value as mint_vector_id to get_collection_top_sponsors. A collection may have multiple mint vectors, each representing a separate minting configuration.Does the API return individual NFT token metadata or transfer history?+
Is mint data available for all blockchains supported by Highlight.xyz, or only specific chains?+
collection_id parameter accepts a chain:address format, and the get_collection_details response includes chain info for each collection. Coverage follows what Highlight.xyz indexes — if a collection exists on a chain Highlight supports, it can be queried. Secondary chains or newly added networks may have limited data at any given time. You can fork the API on Parse and revise it to add filtering or chain-specific endpoints as coverage expands.