CryptoPanic News Scraper API avatar

CryptoPanic News Scraper API

Pricing

$10.00 / 1,000 news requests

Go to Apify Store
CryptoPanic News Scraper API

CryptoPanic News Scraper API

CryptoPanic News Scraper API collects the latest cryptocurrency news, media posts and blog articles by feed category and community filter. Get title, summary, full content, source, related coins, community reactions, trend scores and sentiment for every item.

Pricing

$10.00 / 1,000 news requests

Rating

0.0

(0)

Developer

Api Merge

Api Merge

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Share

What does CryptoPanic News Scraper API do?

CryptoPanic News Scraper API fetches the latest cryptocurrency news, media posts and blog articles from CryptoPanic as clean JSON. Use list mode to pick a feed category such as Regulation or Price Analysis, optionally narrow it with a community filter such as Hot or Bullish, and page through the results. Use detail mode with a post id from the list to fetch a single post together with its community comments. Every item includes the title, summary, full content, source, related coins, community reactions, trend scores and sentiment.

Why use CryptoPanic News Scraper API?

Use this Actor when you need structured crypto news for dashboards, trading signals, sentiment analysis, newsletters, alerting or research.

  • Fetch curated crypto news without parsing HTML
  • Filter by category: news sites, media, blogs, regulation, price analysis, ICO news, events
  • Filter by community signal: hot, rising, bullish, bearish, important, commented, saved
  • Get related coins and reaction counts for every item
  • Fetch a single post with its full comment thread
  • Export results as JSON, CSV, Excel, HTML, or RSS

How to use CryptoPanic News Scraper API

  1. Open the Actor on Apify.
  2. Select list to fetch the news list or detail to fetch a single post with comments.
  3. For list: choose a feed category, optionally a filter, and set the page number (each page returns up to 50 items).
  4. For detail: enter the postId taken from a list result's id field.
  5. Click Start.
  6. Read the output from the default dataset.

List Input

FieldRequiredDefaultDescription
modeYeslistUse list to fetch the news list.
feedNoTop NewsNews category. See the feed options below.
filterNoShow AllCommunity filter. See the filter options below.
pageNo1Page number. Each page returns up to 50 items.

Values are case-insensitive. news sites, News Sites and news-sites are all accepted.

Detail Input

FieldRequiredDefaultDescription
modeYesdetailUse detail to fetch a single post with its comments.
postIdYesemptyPost id from the list response.

Feed Options

FeedDescription
Top NewsCurated top stories across all sources.
All NewsEverything, without curation.
MediaSocial media posts and videos.
BlogsBlog articles.
News SitesArticles from news websites only.
Price AnalysisTechnical and price analysis articles.
RegulationRegulatory and legal news.
ICO NewsToken sales, listings and launches.
EventsConferences, launches and scheduled events.

Filter Options

FilterDescription
Show AllNo community filter.
CommentedItems with the most comments.
HotItems with the most community activity right now.
RisingItems gaining attention quickly.
BullishItems the community marked as bullish.
BearishItems the community marked as bearish.
ImportantItems the community marked as important.
LOLItems the community marked as funny.
Top SavedItems saved most often by the community.

List Input Examples

Top news, no filter:

{
"mode": "list",
"feed": "Top News",
"filter": "Show All",
"page": 1
}

Hot regulation news:

{
"mode": "list",
"feed": "Regulation",
"filter": "Hot",
"page": 1
}

Bullish price analysis, second page:

{
"mode": "list",
"feed": "Price Analysis",
"filter": "Bullish",
"page": 2
}

Rising media posts:

{
"mode": "list",
"feed": "Media",
"filter": "Rising",
"page": 1
}

Most commented blog articles:

{
"mode": "list",
"feed": "Blogs",
"filter": "Commented",
"page": 1
}

Important news from news sites:

{
"mode": "list",
"feed": "News Sites",
"filter": "Important",
"page": 1
}

Bearish ICO news:

{
"mode": "list",
"feed": "ICO News",
"filter": "Bearish",
"page": 1
}

Top saved events:

{
"mode": "list",
"feed": "Events",
"filter": "Top Saved",
"page": 1
}

Funny posts across all news:

{
"mode": "list",
"feed": "All News",
"filter": "LOL",
"page": 1
}

List Output Example

{
"success": true,
"message": "CryptoPanic news fetched successfully.",
"mode": "list",
"feed": "Top News",
"filter": "Rising",
"page": 1,
"count": 50,
"hasMore": true,
"list": [
{
"id": 33525284,
"type": "link",
"title": "Cardano Pushes .ada Internet Domain Ambitions as Whale Activity Hits 4-Month High",
"slug": "Cardano-Pushes-ada-Internet-Domain-Ambitions-as-Whale-Activity-Hits-4-Month-High",
"url": "https://zycrypto.com/cardano-pushes-ada-internet-domain-ambitions-as-whale-activity-hits-4-month-high/",
"domain": "zycrypto.com",
"publishedAt": "2026-10-10T13:09:31+00:00",
"createdAt": null,
"summary": "If given the green light, .ada would give Cardano a place in the global internet addressing system alongside notable extensions such as .com and .org.",
"author": "Brian Njuguna",
"image": "https://zycrypto.com/wp-content/uploads/2019/03/ZyCrypto.png",
"coinCodes": ["ADA"],
"score": null,
"score1h": 16,
"score24h": null,
"sentiment": 1,
"tags": [9],
"contentHtml": "<p>Cardano is pushing ahead with its plan to register .ada as a top-level internet domain...</p>",
"contentText": "Cardano is pushing ahead with its plan to register .ada as a top-level internet domain...",
"source": {
"name": "ZyCrypto",
"domain": "zycrypto.com",
"region": "en",
"type": "feed"
},
"coins": [
{
"code": "ADA",
"slug": "cardano",
"name": "Cardano"
}
],
"reactions": {
"total": 3,
"users": 2,
"positive": 2,
"important": 1,
"liked": 1,
"comments": 0
}
}
]
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Output Fields

FieldDescription
idUnique item id.
typelink for articles, media for social posts and videos, blog for blog articles.
titleHeadline.
slugURL-friendly headline.
urlLink to the original article or post.
domainSource domain or social handle.
publishedAtPublication time (ISO 8601).
createdAtTime the item was first indexed (ISO 8601) or null.
summaryShort summary text.
authorAuthor name when available.
imageLead image URL when available.
contentHtmlArticle content as HTML. May be a summary for some sources.
contentTextArticle content as plain text. May be a summary for some sources.
sourcename, domain, region (language code) and type (feed, twitter, youtube, ...).
coinsRelated coins with code, slug and name.
coinCodesRelated coin codes only.
reactionsCommunity reaction counts: total, users, positive, negative, important, liked, disliked, lol, toxic, saved, comments. Only non-zero counts are present.
score, score1h, score24hTrend scores overall, for the last hour and for the last 24 hours.
sentimentAutomated sentiment level (positive values are bullish, negative values are bearish).
tagsTopic tag ids.

Detail Input Example

{
"mode": "detail",
"postId": 33525614
}

Detail Output Example

{
"success": true,
"message": "CryptoPanic post detail fetched successfully.",
"mode": "detail",
"postId": 33525614,
"post": {
"id": 33525614,
"type": "link",
"title": "BlackRock offloaded almost $500 million of this crypto in a single day",
"url": "https://example-news-site.com/blackrock-offloaded/",
"domain": "example-news-site.com",
"publishedAt": "2026-10-10T15:40:00+00:00",
"summary": "BlackRock sold a large position in a single session...",
"contentText": "BlackRock sold a large position in a single session...",
"source": { "name": "Example News", "domain": "example-news-site.com", "region": "en", "type": "feed" },
"coins": [{ "code": "ETH", "slug": "ethereum", "name": "Ethereum" }],
"coinCodes": ["ETH"],
"reactions": { "total": 4, "users": 3, "negative": 2, "important": 1, "comments": 1 },
"score24h": 31,
"sentiment": -1
},
"commentCount": 1,
"comments": [
{
"id": 366396,
"text": "Dump.",
"createdAt": "2026-10-10T16:17:31+00:00",
"depth": 0,
"author": { "id": 359667, "username": "kdk", "name": "kdk" },
"likes": 0,
"replies": [
{
"id": 366401,
"text": "Or buy the dip?",
"createdAt": "2026-10-10T16:40:02+00:00",
"depth": 1,
"author": { "id": 105380, "username": "Insanity", "name": "Insanity" },
"likes": 2,
"replies": []
}
]
}
]
}

post has the same fields as a list item. Comments are nested: each comment carries its own replies array.

Comment Fields

FieldDescription
idUnique comment id.
textComment body. May contain HTML, for example @mention links.
createdAtComment time (ISO 8601).
depthNesting level, 0 for top-level comments.
authorid, username and display name of the commenter.
likesNumber of likes on the comment.
repliesNested replies with the same structure.

Error Output

When a run cannot deliver data, the dataset contains a single item with success: false and an errorCode:

Error codeMeaning
INVALID_INPUTAn unsupported mode, feed, filter, page or postId value was sent, or the post was not found. The message explains the problem.
TEMPORARY_UNAVAILABLEThe news feed did not return usable data or is rate limiting requests. Run the Actor again in a minute.
CHARGE_LIMIT_REACHEDThe run budget was reached before the result could be charged.
CHARGE_FAILEDThe usage event could not be charged. Try again later.

Notes

  • Each page returns up to 50 items. When hasMore is false, the next page is empty.
  • Sponsored items are removed from the list.
  • detail mode only requests comments when the post has at least one comment; otherwise comments is an empty array.
  • Free Apify plan users are limited to 5 runs per UTC day by this Actor. The limit is shared across list and detail runs.
  • contentHtml and contentText can be a summary rather than the full article for some sources.
  • The collected data is stored in Apify's default dataset.