LunarCrush API: What It Returns, What It Costs, and When Raw Twitter (X) Data Is the Better Input

By TwitterAPI.io Team•14 min read
Diagram comparing two pipelines: LunarCrush API v4 pre-scored metrics versus raw X posts from your own crypto KOL list scored by your code
Two inputs for a crypto social signal: a vendor's pre-scored metric feed, or raw posts from accounts you choose. Cost line measured on posts collected in 2026.
TL;DR
  • What it is: the LunarCrush API v4 (lunarcrush.com/api4) serves pre-computed social metrics (Galaxy Score, AltRank, social dominance, sentiment) for coins, topics, categories and creators.
  • Prices as shown by LunarCrush: Light $90/month, Medium $300/month, Heavy $900/month (20% less billed annually), Enterprise custom, pay-as-you-go $1 per 1,000 requests.
  • Free tier: a free account gives "extremely limited access" for testing; full API and MCP use and all commercial use need a paid plan.
  • Measured raw alternative: 979 posts from 10 crypto accounts cost $0.15 at $0.15 per 1,000 tweets, versus about $5.00 on the official X API rate card.
  • Cashtags are rare: only 5.7% of the accounts' own posts had a $TICKER; 23.8% mentioned crypto in words or tickers.
  • Pick by question: use LunarCrush for cross-network, vendor-scored market mood; use raw X posts when you need your own KOL list, full text for LLM scoring, or sub-minute alerts.

LunarCrush is a crypto-focused social intelligence platform, and its API is how developers pull its scores into trading dashboards, bots and research notebooks. Searches for "lunarcrush api" usually come from one of two people: someone who wants the scores and needs to know the endpoints and the bill, and someone who wants crypto social data in general and is checking whether a pre-scored feed is the right shape for the job.

This page answers both. The first half covers what the LunarCrush API returns, the metric definitions, the plans and rate limits as LunarCrush publishes them, and the gaps you should know about before you build on it. The second half shows the other route, pulling raw X (Twitter) posts from a crypto KOL list yourself, with a measured study of 10 well-known crypto accounts, its real cost, and runnable code.

The angle here is the API decision. For tracking one account in depth see our Michael Saylor tracking guide, for a worked meme-coin detection pipeline see the Trump meme coin signal article, and for trading strategy context see the AI for crypto trading article; they are linked at the end, and nothing on this page is investment advice.

Share of crypto KOL posts with a $cashtag

5.7%

01 — Section

What the LunarCrush API returns

LunarCrush's current API is version 4. Requests go to https://lunarcrush.com/api4/public/... and, per the authentication page in LunarCrush's developer docs, every request must carry an Authorization: Bearer <API_KEY> header. Responses are JSON; LunarCrush's AI-facing endpoints at lunarcrush.ai can also return markdown or CSV for LLM tools.

The endpoint list on lunarcrush.com/api4 groups around five objects. Each returns aggregated, already-scored data rather than a firehose of posts:

ObjectExample pathWhat you get back
Topics/public/topic/:topic/v124-hour summary of social activity for a topic (a coin, a person, a theme)
Topic time series/public/topic/:topic/time-series/v2hourly or daily buckets of the metrics
Categories/public/category/:category/v1summary, top topics, posts, news and creators for a category
Creators/public/creator/:network/:id/v1details and time series for one account on twitter, youtube, instagram, reddit or tiktok
Coins/public/coins/list/v2snapshot of LunarCrush metrics for tracked coins, updated every few seconds

There are also post-level endpoints (/public/posts/:post_type/:post_id/v1 and its time series), trending lists for topics, categories and creators, and an AI summary endpoint (/public/topic/:topic/whatsup/v1). LunarCrush's support page says plans include "all 37 API endpoints". The older /public/coins/list/v1 is documented as cached and up to one hour behind; use v2 when freshness matters.

What it does not return. The API returns top posts and creator rankings chosen by LunarCrush, not every post from an account list you define. If your strategy depends on a fixed set of handles, or on every reply and quote from those handles, that is outside what an aggregated metrics API is designed to give.

02 — Section

Galaxy Score, AltRank and the other metrics, as LunarCrush defines them

The metric definitions below are quoted or closely paraphrased from LunarCrush's own documentation at lunarcrush.ai. They are proprietary composites, so the exact weights are not public.

MetricAPI fieldLunarCrush's definition
Galaxy Scoregalaxy_score"assesses the health of an asset against itself", combining market and social indicators
AltRankalt_rank"evaluates both market and social data" to rank an asset against the rest of the market
Social dominancesocial_dominancean asset's share of voice relative to its category, rolling 24 hours
Sentimentsentiment"% of posts that are positive weighted by engagements" (100% all positive, 0% all negative)
Interactionsinteractionsengagements: views, likes, comments, retweets, upvotes
Contributorscontributors_activeunique creators with active posts that received engagements

Why this matters for builders. These scores are convenient because someone else has already collected posts across several networks, classified sentiment and normalized volume. The tradeoff is that you inherit their account coverage, their sentiment model and their bucketing. If your edge is a different weighting (say, replies from five developers count more than a thousand reposts), you need the underlying posts.

03 — Section

LunarCrush pricing and rate limits

We read lunarcrush.com/pricing and LunarCrush's support and developer pages in this session. Prices are as LunarCrush shows them, in US dollars:

PlanMonthlyBilled annuallyWhat LunarCrush says it adds
Pay-as-you-go$1 per 1,000 requestsn/aAPI, MCP and CLI usage
Light$90/month$72/monthsocial sentiment via MCP, API and Discover
Medium$300/month$240/monthevery API endpoint, advanced MCP integrations, Custom Collections
Heavy$900/month$720/monthhigher rate limits, deeper Collections, priority support
Enterprisecustomcustomcustom limits, SLAs, brand customization

Free tier. LunarCrush's support answer to "Is there a free version of the API?" is "Somewhat": a free account "gives extremely limited access to test out the API", fully using the API and MCP requires a paid plan, and "All commercial use requires a paid plan."

Rate limits. The pricing page does not publish numeric limits; it only says Heavy has higher limits and Enterprise custom limits. The authentication page in the developer docs still shows a table under older tier names: 10 requests a minute and 2,000 a day on Individual, 100 a minute and 20,000 a day on Builder, 500 a minute and 100,000 a day on Scale, and a Hobby tier limited to market-data endpoints. Treat those numbers as indicative and confirm your plan's limits with LunarCrush before you size a production job.

One inconsistency to check. The pricing page lists "every API endpoint" as a Medium feature, while the support page says every plan, including pay-as-you-go, includes all 37 endpoints. If a specific endpoint matters to you, test it on the plan you intend to buy.

What a request means. LunarCrush bills per request, and one request returns an aggregate (a coin list, a topic summary, a time series). That unit is not comparable one-to-one with per-post pricing, so the honest comparison is by job: what does it cost to answer your question each way.

04 — Section

Where a pre-scored feed falls short for crypto builders

A metrics API is a good fit for screens, rankings and broad market mood. It gets harder to use when the strategy depends on specific people and specific words. Four gaps come up repeatedly in practice:

You do not choose the account list. Your watchlist may be 40 developers, founders and fund partners whose replies matter more than any influencer's reach. A vendor's creator rankings and top posts are selected by the vendor.

Ticker-based tagging misses most of the conversation. Our study below found that only a small share of crypto KOL posts carry a $TICKER. Many important posts name a project, a protocol upgrade or a person, not a cashtag.

Text for your own model. If you score posts with an LLM, you want the full text, the reply context and the engagement counts at the moment you saw them, not a sentiment percentage computed by someone else's classifier.

Latency you control. A coin snapshot that refreshes every few seconds is fast for market metrics, but an alert on a single post from a single account is a polling (or push) problem on X data, and you want to choose the interval yourself.

None of this makes the LunarCrush API wrong; it makes it a different product. Many teams use both: a vendor score for the market-wide picture, and raw posts for the handful of accounts that drive their own decisions.

05 — Section

Study: what a raw crypto KOL feed actually contains

We pulled the latest posts (replies included) from 10 public crypto accounts: five public figures (@VitalikButerin, @saylor, @cz_binance, @brian_armstrong, @APompliano) and five organizations (@coinbase, @binance, @solana, @ethereum and LunarCrush's own @LunarCrush). That gave 979 posts, 736 of them the accounts' own words (originals, replies and quotes; reposts excluded).

Together the 10 accounts posted about 99.3 times a day. The spread is wide: @solana posted 43.2 times a day with a median gap of 11.6 minutes, @coinbase 12.1 a day with a median gap of 9.9 minutes (mostly replies), while @ethereum posted 1.6 a day, 68% of it reposts. LunarCrush's own account was the quietest in the sample: its latest 100 posts span 645 days.

AccountPosts a dayReplies + quotesOwn posts with $cashtagOwn posts naming crypto
@solana43.257%6.8%28.4%
@APompliano16.140%3.4%11.5%
@coinbase12.170%0.0%15.5%
@cz_binance8.875%0.0%9.0%
@saylor6.211%31.0%50.0%
@binance5.947%4.1%28.8%
@brian_armstrong3.467%0.0%22.8%
@VitalikButerin1.849%0.0%26.3%
@ethereum1.628%0.0%37.5%
@LunarCrush0.252%18.4%29.6%

The headline number. Across all 10 accounts, only 5.7% of own posts (42 of 736) contained a $cashtag. Counting plain words as well (bitcoin, BTC, ETH, Solana, token, DeFi, stablecoin and similar), 23.8% (175 posts) were about crypto in a way a keyword filter can catch. Six of the 10 accounts used no cashtag at all in their own posts, including @VitalikButerin, @cz_binance and @coinbase.

Which tickers did appear. 55 distinct cashtags showed up, led by $STRC (15), $BTC (8), $MSTR (6), $NVDA (5), $DOG (5). Most of @saylor's cashtags were Strategy's own listed securities, which a coin-only tracker would ignore entirely.

Text length for LLM scoring. Own posts had a median length of 90 characters and a 90th percentile of 397; the longest was 4,972 characters. Short replies dominate, so give a model the parent post (inReplyToId, conversationId) as context, not the reply alone.

Bar chart of the share of each crypto account's own posts with a cashtag versus with any crypto word; cashtags are rare for most accounts
Share of own posts with a $cashtag versus any crypto word, 736 posts from 10 accounts collected in 2026.
06 — Section

Replies and quotes are most of the feed

The second thing the raw data shows is the post mix. For @coinbase, 62% of recent posts were replies; for @brian_armstrong, 43% were quotes; for @cz_binance only 4% were standalone originals, with the rest split across replies, quotes and reposts. A signal that counts only original posts sees a thin slice of what these accounts are doing.

Quotes and replies are also where context lives: a founder quoting a protocol announcement, or an exchange replying to a listing question. With raw posts you keep the quoted_tweet object and the inReplyToUsername field, so your scoring can tell an endorsement from a support reply.

Engagement varies by orders of magnitude. Median likes on original posts ranged from 11 (@LunarCrush) to 8,894 (@cz_binance), and median views from 5,556 to 1,159,129. If you weight posts by engagement, normalize per account first, or a few accounts will swamp the rest.

Stacked bar chart of original, reply, quote and repost share for each of 10 crypto accounts, sorted by posts per day
Post mix of the latest ~100 posts per account, 979 posts collected in 2026.
07 — Section

Getting crypto KOL posts the API way, and the X data bill

TwitterAPI.io is a REST API for X data: reads need no X account, you send an X-API-Key header to https://api.twitterapi.io, and you pay only for the data returned. Two endpoints cover most crypto KOL work:

/twitter/user/last_tweets returns an account's timeline newest first, 20 posts a page, with includeReplies=true if you want replies. This is what the study above used.

/twitter/tweet/advanced_search takes X search operators, so one query such as from:saylor OR from:VitalikButerin OR from:solana watches a whole list, and since_time: limits it to new posts. It also handles cashtag and keyword queries ($SOL lang:en) when you want the conversation around a coin rather than a list of people.

Pricing. Tweet endpoints cost 15 credits per tweet returned, which is $0.15 per 1,000 tweets ($1 = 100,000 credits). A request has a 15-credit minimum, so a poll that finds nothing costs $0.00015, and a full 20-tweet page costs $0.003. Profiles cost 18 credits per user ($0.18 per 1,000). New accounts that pass the automatic bot check get up to $1 of free credits (at most 100,000 credits, no card, one per person or network, expiring after 31 days); purchased credits never expire.

JobTwitterAPI.ioOfficial X API pay-per-usage
This study: 979 posts + 10 profiles14,865 credits = $0.15about $5.00
1,000 posts read$0.15$5.00 ($0.005 per post read)
1,000 profiles read$0.18$10.00 ($0.010 per user read)
Polling one list query every 60 s for a month, empty checks$6.48 floor (43,200 checks)billed per post read returned

A month of this KOL list. At the measured 99.3 posts a day, the 10 accounts produce roughly 2,979 posts in 30 days, about $0.45 of tweet data at $0.15 per 1,000; polling every 60 seconds adds at most the $6.48 floor for empty checks (every 5 minutes: $1.30). The official X API figures come from the pay-per-usage rate card at docs.x.com/x-api/getting-started/pricing ($0.005 per post read, $0.010 per user read, capped at 3 million post reads a month with Enterprise above); per 1,000 posts that is $5 against $0.15, about 33x.

Rate limits. 0.2 requests a second before the first payment, 20 once paid, 50 on Scale and 500 on Business; subscriptions run from Starter at $29/month to Business at $1,499/month, and the details are on the pricing page.

python
import os, requests

BASE = "https://api.twitterapi.io"
H = {"X-API-Key": os.environ["TWITTERAPI_IO_KEY"]}

# One query watches the whole list; since_time keeps each poll to new posts only.
query = "from:saylor OR from:VitalikButerin OR from:solana OR from:coinbase since_time:1767225600"
r = requests.get(f"{BASE}/twitter/tweet/advanced_search",
                 params={"query": query, "queryType": "Latest", "cursor": ""},
                 headers=H, timeout=30)
r.raise_for_status()
for t in r.json().get("tweets", []):
    print(t["author"]["userName"], t["createdAt"], t["likeCount"], t["text"][:80])
08 — Section

Santiment and other crypto social data APIs

LunarCrush is not the only pre-scored option. Santiment (santiment.net) sells on-chain and social metrics through its Sanbase product and API. Its pricing page, read this session at app.santiment.net/pricing, lists a free plan, Sanbase Pro at $49/mo and Sanbase Max at $249/mo, and states that "Sanbase Max is the minimum plan required for accessing the real-time API data with no restrictions or time-lag." It does not publish API call quotas on that page. Its social features are listed as trending words, trending stories, trending coins and social context.

NeedLunarCrush APISantimentRaw X posts (TwitterAPI.io)
Unit of datascored metrics per coin, topic, creatoron-chain and social metrics per assetindividual posts and profiles
Account listvendor-ranked creatorsvendor-selectedany handles you choose
Full post texttop posts onlytrending words and storiesevery post returned
NetworksX, YouTube, Reddit, TikTok, Instagram, newsper its docsX only
Published entry price$1 per 1,000 requests or $90/month$49/mo (real-time API on $249/mo)$0.15 per 1,000 tweets

Choosing. If you want a cross-network mood index without running a pipeline, a scored API is the shorter path. If your question is "what did these 40 accounts say in the last five minutes, in full", you want raw X posts; a scored feed cannot add accounts it does not track or recover text it did not keep. If you want both, compute your own features on raw posts and keep the vendor score as one more input.

09 — Section

How we collected this

Question. What does a raw X feed from a hand-picked crypto KOL and project list look like as input for your own signal: posts per day, post mix, cashtag and crypto-word coverage, engagement, text length, and the cost of collecting it?

Accounts. @VitalikButerin, @saylor, @cz_binance, @brian_armstrong, @APompliano, @coinbase, @binance, @solana, @ethereum and @LunarCrush: public figures and organizations only.

Method and window. /twitter/user/last_tweets with includeReplies=true, up to 5 pages (about 100 posts) per account, newest first, plus one /twitter/user/info per account; collected in 2026. Each account's window runs from its oldest to newest sampled post, so busy accounts cover days and quiet ones cover months. Total: 60 requests, 979 posts, 10 profiles, 14,865 credits.

Definitions. Own posts exclude reposts. A cashtag is an X symbols entity or a $ followed by letters. Crypto words are a fixed list (bitcoin, BTC, ETH, ether, Ethereum, Solana, SOL, crypto, stablecoin, DeFi, token, onchain, blockchain, BNB, USDC, USDT, memecoin).

What the sample cannot show. It is 10 accounts and a short recent window, not a census of crypto X; per-account numbers swing with news cycles; the keyword list is simple and will miss project names it does not contain. It says nothing about price impact.

Privacy. Aggregates only. Only public-figure and organization accounts are named; reposted, quoted and replied-to authors were not analyzed, and raw pages were kept out of the repository because they contain other users' posts.

python
"""Pull recent posts for a crypto KOL list and measure cashtag vs crypto-word coverage."""
import os, re, requests
from collections import Counter

BASE = "https://api.twitterapi.io"
HEADERS = {"X-API-Key": os.environ["TWITTERAPI_IO_KEY"]}
ACCOUNTS = ["VitalikButerin", "saylor", "solana", "coinbase"]
CRYPTO = re.compile(r"\b(bitcoin|btc|eth|ethereum|solana|sol|crypto|defi|tokens?|stablecoins?)\b", re.I)


def timeline(user, max_pages=5):
    cursor, out = "", []
    for _ in range(max_pages):
        r = requests.get(f"{BASE}/twitter/user/last_tweets",
                         params={"userName": user, "includeReplies": "true", "cursor": cursor},
                         headers=HEADERS, timeout=30)
        r.raise_for_status()
        body = r.json()
        out.extend((body.get("data") or {}).get("tweets") or [])
        if not body.get("has_next_page"):
            break
        cursor = body.get("next_cursor", "")
    return out


tags = Counter()
for user in ACCOUNTS:
    own = [t for t in timeline(user) if not t.get("retweeted_tweet")]
    with_tag = 0
    with_word = 0
    for t in own:
        syms = [s["text"].upper() for s in (t.get("entities") or {}).get("symbols") or []]
        tags.update(syms)
        with_tag += bool(syms)
        with_word += bool(syms or CRYPTO.search(t.get("text") or ""))
    n = len(own) or 1
    print(f"{user}: {len(own)} own posts, {100*with_tag/n:.1f}% cashtag, {100*with_word/n:.1f}% crypto word")

print("top cashtags:", tags.most_common(10))

Researching this?Free starter credits cover end-to-end testing — Google sign-in, no card. Get a key.

10 — Questions

Questions readers ask

Is the LunarCrush API free?

Partly. LunarCrush says a free account gives extremely limited access to test the API, while full API and MCP use and all commercial use require a paid plan. Paid options start with pay-as-you-go at $1 per 1,000 requests, or Light at $90/month ($72/month billed annually), as shown on lunarcrush.com/pricing.

How much does the LunarCrush API cost?

LunarCrush lists Light at $90/month, Medium at $300/month, Heavy at $900/month (each 20% less billed annually: $72, $240 and $720 a month), Enterprise on custom pricing, and pay-as-you-go at $1 per 1,000 requests across the API, MCP and CLI. Bi-annual and annual renewals are discounted.

What are the LunarCrush API rate limits?

The pricing page does not publish numbers. The developer authentication page lists, under older tier names, 10 requests a minute and 2,000 a day on Individual, 100 a minute and 20,000 a day on Builder, and 500 a minute and 100,000 a day on Scale. Confirm the limits of your plan with LunarCrush before sizing a job.

What is the LunarCrush API base URL and how do I authenticate?

Version 4 lives at https://lunarcrush.com/api4, with paths such as /public/coins/list/v2 and /public/topic/:topic/v1. Every request needs an Authorization header with the value Bearer followed by your API key, which you get after subscribing.

What is Galaxy Score and AltRank?

Both are LunarCrush's proprietary composites. Galaxy Score assesses the health of an asset against itself using market and social indicators; AltRank evaluates market and social data together to rank an asset against the rest of the market. The exact weights are not published.

What is a good LunarCrush alternative for crypto Twitter data?

It depends on the question. Santiment offers another pre-scored metrics API. If you need posts from your own list of accounts in full text, pull raw X data: in our 2026 study, 979 posts from 10 crypto accounts cost $0.15 through TwitterAPI.io at $0.15 per 1,000 tweets, versus about $5.00 on the official X API rate card.

Can I track crypto cashtags like $BTC with a Twitter API?

Yes. Search with the cashtag as the query (for example $BTC lang:en with queryType Latest) on /twitter/tweet/advanced_search, and read the entities.symbols field on each post. Do not rely on cashtags alone for a KOL list: only 5.7% of the own posts in our study had one, while 23.8% mentioned crypto in words or tickers.

Does LunarCrush include data beyond X (Twitter)?

Yes. Its creator endpoints accept twitter, youtube, instagram, reddit or tiktok as the network, and its post data includes news articles. A raw X API covers X only, so if cross-network coverage is the requirement, a multi-network vendor is the more direct fit.

11 — Further reading

Continue

Sources & further reading
More from this series

Writing about something you built with TwitterAPI.io? Our community rewards program pays API credits for honest tutorials, build logs and videos.

Build it

Stop reading. Start building.

Starter credits cover real testing on real data. Google sign-in, no card, no application queue.

Get an API key

Already building with TwitterAPI.io? Publish an honest tutorial or build log about it and earn up to $200 a month in API credits.