fomo APIfomo.family ↗
Access live price, market cap, liquidity, multi-window price changes, holder counts, and social metadata for every token listed on fomo.family.
What is the fomo API?
The fomo.family API exposes live market data across two endpoints — list_tokens and get_token — covering every token fomo publishes, with over 20 fields per token including price, market cap, liquidity, holder count, supply, 5-minute through 24-hour price changes and volumes, transaction counts, launchpad metadata, and social links. Use list_tokens to paginate and filter the full catalogue, or get_token to pull a single token's complete record by contract address or ticker slug.
curl -X GET 'https://api.parse.bot/scraper/0f1557da-d981-4a07-9074-6683f352ab0f/list_tokens?sort=market_cap&category=Memes' \ -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 fomo-family-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: fomo.family token data — bounded, re-runnable."""
from parse_apis.fomo_family_api import FomoFamily, TokenSort, TokenNotFound
client = FomoFamily()
# Browse the top meme tokens by market cap.
for token in client.tokens.list(category="Memes", sort=TokenSort.MARKET_CAP, limit=5):
print(f"{token.symbol:>8} ${token.price_usd:.6f} mcap=${token.market_cap_usd:,.0f}")
# Drill into the highest-volume token to see its full record + other chain matches.
top = client.tokens.list(sort=TokenSort.VOLUME_24H, limit=1).first()
if top is not None:
result = client.token_results.get(token=top.token_address)
print(f"\n{result.token.name} ({result.token.chain_name})")
print(f" 24h volume: ${result.token.volume_24h_usd:,.2f}")
print(f" holders: {result.token.holders}")
for match in result.other_matches:
print(f" also on {match.chain}: {match.token_address}")
# Point lookup by address discovered above — handle unknown tokens gracefully.
if top is not None:
try:
detail = client.token_results.get(token=top.token_address)
print(f"\n{detail.token.name}: ${detail.token.price_usd:,.2f}")
except TokenNotFound:
print("Token not listed on fomo.family")
print("\nexercised: tokens.list / token_results.get / TokenSort / TokenNotFound")
Lists every token fomo publishes market data for, one row per token contract on a chain, with price, market cap, liquidity, 5-minute/1h/4h/12h/24h price changes and volumes, transaction counts, holder count, supply, description, social links, launchpad and listing metadata. One upstream round trip serves the whole catalogue (518 tokens at the time of testing); filtering by category, sorting and paging are applied to that full set, so paging never loses rows. Sorting is always descending. Use limit (default 20, max 200) and offset (default 0) to page; matched_count reports how many tokens matched the category filter, source_token_count how many fomo published in total, and has_more whether another page exists. A category with no matching tokens returns an empty tokens array with matched_count 0. Price changes are fractions, not percentages: 0.0321 means +3.21%.
| Param | Type | Description |
|---|---|---|
| sort | string | Descending sort key applied to the matched tokens. An unrecognized value is rejected. |
| limit | integer | Maximum tokens per page. Values above 200 are clamped to 200; values below 1 are clamped to 1. |
| offset | integer | Number of matched tokens to skip before the page starts. |
| category | string | Restricts results to tokens carrying this fomo category label, matched case-insensitively against the labels fomo publishes on each token. Labels confirmed on the site's own category tabs: AI, DeFi, Memes, Large Caps. Omitted = no category filter. |
{
"type": "object",
"fields": {
"sort": "the sort key applied",
"limit": "integer page size actually applied after clamping",
"offset": "integer offset applied",
"tokens": "array of token market-data records, each keyed by token_address plus network_id",
"category": "the category filter applied, or null",
"has_more": "boolean, true when further matched tokens remain beyond this page",
"matched_count": "integer count of tokens matching the category filter across the whole catalogue",
"source_token_count": "integer count of tokens fomo published in this response, before filtering"
},
"sample": {
"data": {
"sort": "market_cap",
"limit": 1,
"offset": 0,
"tokens": [
{
"name": "Bitcoin",
"chain": "solana",
"symbol": "BTC",
"discord": null,
"holders": 73437,
"is_scam": null,
"twitter": "https://twitter.com/coinbase",
"website": "https://www.coinbase.com/",
"decimals": 8,
"mintable": null,
"telegram": null,
"change_1h": -0.0009573972401050886,
"change_4h": -0.003304722413710048,
"change_5m": -0.001280118021727196,
"exchanges": [
"Orca"
],
"freezable": null,
"image_url": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
"listed_at": "2025-03-05T18:15:00.000Z",
"price_usd": 83328.99520524565,
"categories": [
"Large Caps"
],
"chain_name": "Solana",
"change_12h": 0.003790032593411131,
"change_24h": 0.003215209011859703,
"network_id": 1399811149,
"description": "Coinbase Wrapped BTC (\"cbBTC\") is a token that is backed 1:1 by native Bitcoin (BTC) held by Coinbase.",
"is_low_fees": true,
"ticker_slug": "bitcoin-btc",
"total_supply": 19839540,
"txn_count_1h": 1497,
"txn_count_4h": 6359,
"liquidity_usd": 7201393.362634935,
"pair_protocol": "Orca",
"token_address": "cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij",
"txn_count_12h": 18574,
"txn_count_24h": 42351,
"volume_1h_usd": 1076713.8024420077,
"volume_4h_usd": 4370681.765849493,
"volume_5m_usd": 122254.93282245588,
"launchpad_name": null,
"market_cap_usd": 1653208933534.2793,
"token_page_url": "https://fomo.family/prices/bitcoin-btc",
"volume_12h_usd": 11164469.997386876,
"volume_24h_usd": 27913995.80251911,
"token_created_at": 1731000424,
"circulating_supply": 19839540,
"launchpad_migrated": null,
"top10_holders_percent": null,
"reported_market_cap_usd": 1653208933534.2793,
"launchpad_graduation_percent": null
}
],
"category": null,
"has_more": true,
"matched_count": 518,
"source_token_count": 518
},
"status": "success"
}
}About the fomo API
Token Catalogue via list_tokens
list_tokens returns a paginated array of token market-data records. Each record is keyed by token_address and network_id, so tokens deployed on multiple chains are distinguished by chain. The response includes matched_count (total tokens matching the current filter), has_more (pagination flag), source_token_count (raw count before filtering), and the resolved sort, limit, and offset values actually applied. The limit parameter accepts integers but clamps to a maximum of 200 and a minimum of 1. The category parameter filters by fomo's own category labels matched case-insensitively; unrecognized sort values are rejected rather than silently ignored.
Single-Token Lookup via get_token
get_token accepts either a contract address (token_address from list_tokens) or a fomo ticker slug (ticker_slug from list_tokens) as the token parameter. The optional network_id integer restricts the match to one chain — useful when the same symbol or slug appears on multiple networks. The response returns the full market-data record under token in the same field shape as list_tokens rows, plus other_matches: an array of any other listed contracts that matched the same identifier, each carrying token_address, network_id, chain, symbol, and market_ca — letting callers detect and resolve cross-chain ambiguity.
Market Data Fields
Every token record includes price, market_cap, liquidity, holder count, supply, and a description field. Price-change and volume data is windowed across five intervals: 5 minutes, 1 hour, 4 hours, 12 hours, and 24 hours. Transaction counts are also per-window. Social links and launchpad and listing metadata round out the record — useful for tracking whether a token originated on a specific launchpad or was listed at a particular time.
The fomo API is a managed, monitored endpoint for fomo.family — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fomo.family 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 fomo.family 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 multi-window (5m/1h/4h/12h/24h) price momentum for newly listed tokens across all fomo-listed chains.
- Build a holder-count trend monitor by polling
get_tokenrepeatedly for a watchlist of contract addresses. - Filter the fomo catalogue by category and sort by liquidity to surface tokens meeting a minimum market-depth threshold.
- Detect cross-chain token deployments using the
other_matchesfield returned byget_token. - Aggregate launchpad and listing metadata to analyze which launchpads contribute the most tokens by market cap.
- Power a portfolio tracker with live price, supply, and market cap fields refreshed on a schedule.
- Build a screener that pages through
list_tokenswithoffset/limitand flags tokens whose 5-minute and 1-hour price changes diverge significantly.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does fomo.family provide an official public developer API?+
How does `get_token` handle tokens that share the same ticker slug across multiple chains?+
token parameter matches contracts on more than one chain, the primary match is returned under the token field and all other matching contracts appear in other_matches, each carrying token_address, network_id, chain, symbol, and market_ca. Passing the optional network_id parameter restricts the match to a single chain and avoids ambiguity.What sort options are available in `list_tokens`, and what happens with an invalid value?+
sort parameter applies a descending sort to the matched token set — valid values include fields like market cap, liquidity, and price-change windows that fomo exposes. An unrecognized sort key is rejected with an error rather than falling back silently, so callers should use values from the documented set.Does the API expose historical price or OHLCV chart data for tokens?+
Is there a limit on how many tokens `list_tokens` can return per request?+
limit parameter is clamped to a maximum of 200 tokens per page and a minimum of 1. Use offset together with the has_more boolean and matched_count integer in the response to page through larger result sets.