# Crypto News Aggregator (`gochujang/crypto-news-aggregator`) Actor

Aggregate cryptocurrency news from CoinDesk, Cointelegraph, Decrypt, CryptoSlate, and The Block RSS feeds. Filter by keyword, coin symbol, or source. Returns title, summary, author, published date, source, and full article URL. No API key required.

- **URL**: https://apify.com/gochujang/crypto-news-aggregator.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Business
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 item processeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Crypto News Aggregator do?

**Crypto News Aggregator** collects and enriches articles from five of the most trusted **cryptocurrency news sources** — CoinDesk, Cointelegraph, Decrypt, CryptoSlate, and The Block — via their public RSS feeds in a single run. Each article is automatically scored for **market sentiment**, **impact level**, **urgency tier**, and **narrative tags** so you can filter for signal instead of noise. No API key is required.

### Why use Crypto News Aggregator?

- **Five top-tier sources in one call** — CoinDesk (tier-1), Cointelegraph, Decrypt, CryptoSlate, and The Block are fetched in parallel so you always get the broadest crypto news coverage without managing multiple integrations.
- **Built-in sentiment analysis** — every article receives a `sentiment_signal` (`very_bullish` → `very_bearish`) and a numeric `sentiment_score`, making it easy to feed headlines directly into trading pipelines or LLM summarisers.
- **Market impact scoring** — the `market_impact_score` (0–100) flags articles about hacks, ETF decisions, regulatory actions, and major exchange events so high-stakes stories rise to the top automatically.
- **Narrative tagging and coin detection** — each article is tagged with active market narratives (`ETF_flows`, `regulation`, `AI_tokens`, `defi`, `layer2`, etc.) and the coins it mentions (`BTC`, `ETH`, `SOL`, and more), enabling precise downstream filtering.
- **Pay-per-article pricing** — at **$0.001 per article**, a 150-article run costs $0.15, making this one of the most affordable ways to automate crypto news collection at any scale.

### How to use Crypto News Aggregator

1. Go to the [Apify Store](https://apify.com/store) and open **Crypto News Aggregator**.
2. Click **Try for free** to open the Actor in Apify Console.
3. Select the **sources** you want (default: CoinDesk, Cointelegraph, Decrypt).
4. Optionally enter a **keyword** (e.g. `Bitcoin`, `ETH`, `regulation`) to filter results to relevant articles only.
5. Set **maxResults** (default 50, max 200 per source) to control the volume per source.
6. Click **Start** — the run typically completes in 10–30 seconds.
7. Download results as JSON, CSV, or connect via the Apify API for automated pipelines.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `sources` | array | `["coindesk","cointelegraph","decrypt"]` | News sources to fetch. Valid values: `coindesk`, `cointelegraph`, `decrypt`, `cryptoslate`, `theblock` |
| `keyword` | string | — | Optional keyword filter applied to article title and summary (case-insensitive) |
| `maxResults` | integer | `50` | Maximum articles to return per source (1–200) |

### Output

The first record is always a `news_summary` aggregate. Subsequent records are individual articles:

```json
[
  {
    "record_type": "news_summary",
    "breaking_news": [
      {
        "title": "SEC Approves Spot Bitcoin ETF",
        "url": "https://www.coindesk.com/policy/2025/01/10/sec-approves-spot-bitcoin-etf/",
        "source": "coindesk",
        "market_impact_score": 85,
        "sentiment_signal": "very_bullish"
      }
    ],
    "market_sentiment_from_news": "bullish",
    "most_impactful_story": {
      "title": "SEC Approves Spot Bitcoin ETF",
      "url": "https://www.coindesk.com/policy/2025/01/10/sec-approves-spot-bitcoin-etf/",
      "source": "coindesk",
      "market_impact_score": 85,
      "sentiment_signal": "very_bullish",
      "news_category": "regulation"
    },
    "active_narratives": ["ETF_flows", "institutional", "regulation"],
    "total_articles_tracked": 143
  },
  {
    "source": "cointelegraph",
    "title": "Ethereum Layer-2 Protocols See Record TVL Surge",
    "url": "https://cointelegraph.com/news/ethereum-l2-tvl-record",
    "summary": "Optimism and Arbitrum collectively locked more than $50 billion in total value as Ethereum scaling solutions...",
    "author": "María García",
    "published_at": "2025-03-12T09:14:00+00:00",
    "categories": ["Ethereum", "Layer 2", "DeFi"],
    "fetched_at": "2025-03-12T10:00:00+00:00",
    "sentiment_score": 0.4286,
    "sentiment_label": "bullish",
    "coins_mentioned": ["ETH"],
    "is_major_coin_focus": true,
    "freshness_minutes": 46,
    "content_richness_score": 80,
    "market_impact_score": 20,
    "sentiment_signal": "bullish",
    "affected_assets": ["ETH"],
    "news_category": "defi",
    "urgency_tier": "breaking",
    "source_credibility": "tier2",
    "actionable_signal": "monitor",
    "narrative_tags": ["layer2", "defi"]
  }
]
```

### Data fields

| Field | Description |
|-------|-------------|
| `source` | Source key: `coindesk`, `cointelegraph`, `decrypt`, `cryptoslate`, `theblock` |
| `title` | Article headline |
| `url` | Canonical article URL |
| `summary` | First 500 characters of the RSS description |
| `author` | Byline (availability varies by source) |
| `published_at` | ISO 8601 UTC publication timestamp |
| `categories` | RSS category tags from the publisher |
| `fetched_at` | ISO 8601 UTC timestamp of when the article was fetched |
| `sentiment_score` | Numeric sentiment in \[-1.0, +1.0] (title weighted 70%, summary 30%) |
| `sentiment_label` | `bullish` / `neutral` / `bearish` |
| `sentiment_signal` | Five-level signal: `very_bullish`, `bullish`, `neutral`, `bearish`, `very_bearish` |
| `market_impact_score` | 0–100 estimated market significance based on topic keywords |
| `coins_mentioned` | Canonical coin symbols mentioned in the article (e.g. `["BTC","ETH"]`) |
| `affected_assets` | Same as `coins_mentioned`; explicit alias for pipeline consumers |
| `is_major_coin_focus` | `true` if article mentions BTC, ETH, SOL, BNB, or XRP |
| `freshness_minutes` | Minutes since publication at fetch time |
| `urgency_tier` | `breaking` (<60 min), `recent` (<6 h), `today` (<24 h), `old` |
| `source_credibility` | `tier1` (CoinDesk, The Block), `tier2` (CT, Decrypt, CryptoSlate) |
| `actionable_signal` | `immediate_action`, `monitor`, `informational`, or `noise` |
| `news_category` | Article topic class: `hack_security`, `regulation`, `macro`, `institutional`, `protocol_update`, `defi`, `nft`, `mining`, `market_data`, `general` |
| `narrative_tags` | Up to 3 active market narrative labels (e.g. `ETF_flows`, `AI_tokens`, `layer2`) |
| `content_richness_score` | 0–100 data completeness proxy (summary length, title length, author, categories) |

### Cost estimation

Pricing: **$0.001 per article returned** (Pay-Per-Event). There is no base run fee.

| Scenario | Sources | Articles/source | Total articles | Estimated cost |
|----------|---------|-----------------|---------------|---------------|
| Small (keyword filter) | 2 | 20 | ~30 (after filter) | ~$0.03 |
| Medium (default) | 3 | 50 | ~140 | ~$0.14 |
| Large (all sources, max results) | 5 | 200 | ~900 | ~$0.90 |

Tip: Use the `keyword` filter when you only need articles about a specific coin or topic — you pay only for articles that match.

### FAQ

**Do I need an API key to run this Actor?**
No. All five sources are fetched from their public RSS feeds using standard HTTP requests. No account registration or API key is required for any source.

**How fresh is the news data?**
RSS feeds are updated by each publisher on their own schedule — typically every 15–60 minutes. The `freshness_minutes` and `urgency_tier` fields on each article tell you exactly how old each story was at the time of fetching. For near-real-time monitoring, schedule runs via Apify Schedules at 15–30 minute intervals.

**Can I filter news to a specific coin or topic?**
Yes. Use the `keyword` input to filter by any term — coin name (`Bitcoin`), ticker (`ETH`), topic (`regulation`), or any other string. The filter matches against both the article title and the summary, and only matching articles are returned (and charged).

**Disclaimer:** This Actor aggregates publicly available news from RSS feeds for informational purposes only. Sentiment scores and market impact labels are computed algorithmically and do not constitute financial or investment advice. Always perform your own research before making any trading decisions.

Keywords: crypto news aggregator, cryptocurrency news RSS, Bitcoin news scraper, crypto sentiment analysis, CoinDesk RSS, Cointelegraph scraper, crypto news API, market impact score, blockchain news feed, crypto trading signals

***

### Related actors

- [Google News Scraper](https://apify.com/gochujang/google-news-scraper) — Mainstream media coverage to pair with crypto-specific RSS feeds from this actor
- [Fear & Greed Tracker](https://apify.com/gochujang/fear-greed-tracker) — Market sentiment index to contextualize news impact scores
- [Token Social Metrics](https://apify.com/gochujang/token-social-metrics) — Social media buzz alongside news sentiment for complete crypto signal coverage

### Feedback

If this actor powers your crypto news monitoring, a review helps others find it: [Leave a review on Apify Store](https://apify.com/gochujang/crypto-news-aggregator#reviews)

# Actor input Schema

## `sources` (type: `array`):

Which sources to include. Allowed: coindesk, cointelegraph, decrypt, cryptoslate, theblock

## `keyword` (type: `string`):

Filter articles containing this keyword in title or description. Leave empty to return all articles.

## `maxResults` (type: `integer`):

Maximum number of articles to return per source (1–200)

## Actor input object example

```json
{
  "sources": [
    "coindesk",
    "cointelegraph",
    "decrypt"
  ],
  "keyword": "",
  "maxResults": 50
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/crypto-news-aggregator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/crypto-news-aggregator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call gochujang/crypto-news-aggregator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,gochujang/crypto-news-aggregator"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BXdLoO2X0bJwgdIrZ/builds/OqvQNhIiW3hcLMgI1/openapi.json
