# ZeroHedge News Scraper: Full Text, Author, Category, Pub Date (`getascraper/zerohedge-news-scraper`) Actor

Get every ZeroHedge.com article with full text, author, category, and publish date, pulled from the site's own feed. No browser, no login, no monthly rental. Feeds n8n, Zapier, or Slack alerts. Skip the $15/month scraper subscription. Pay only per article, empty runs cost nothing.

- **URL**: https://apify.com/getascraper/zerohedge-news-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.30 / 1,000 articles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 📰 ZeroHedge News Scraper: Full Text, Author, Category, Pub Date

<table width="100%"><tr><td style="padding:24px 28px;background:#FDECEC;border:1px solid #F3C6C6;border-top:4px solid #9C1C1C;border-radius:12px"><span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every ZeroHedge story, in clean data, not a wall of text.</span><br><span style="font-size:15px;color:#57534E;line-height:1.6">Get the full article body, author, category, and publish date for every ZeroHedge post, ready to filter, monitor, or feed into your own pipeline.</span></td></tr></table>

<table width="100%"><tr><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C6C6;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#7A1717">📄 Full article text</span><br><span style="font-size:12px;color:#57534E">Every result carries the complete article body, not a teaser.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C6C6;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#7A1717">🧱 Structured fields</span><br><span style="font-size:12px;color:#57534E">Title, author, category, and date, each in its own field.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C6C6;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#7A1717">💳 Pay per use</span><br><span style="font-size:12px;color:#57534E">No monthly rental. Empty runs cost nothing.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C6C6;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#7A1717">🔁 New-only monitor</span><br><span style="font-size:12px;color:#57534E">Schedule it and only get articles you haven't seen yet.</span></td></tr></table>

ZeroHedge News Scraper pulls posts straight from [ZeroHedge](https://www.zerohedge.com), the financial and geopolitical commentary site, and returns them as clean, structured records. Run it on demand or on an Apify schedule to build a market-news feed, track specific categories, or keep a research archive current.

### 🎯 What this Actor does

Traders and analysts use it to watch market and geopolitical commentary without refreshing a browser tab all day. News pipeline developers use it as a reliable structured source instead of parsing raw HTML themselves. Researchers use it to build a searchable archive of ZeroHedge's coverage on a topic or category over time. Every field is genuine: if a value isn't published, it's left out rather than filled with a placeholder.

### 🚀 How to use it

<table width="100%"><tr><td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #F3C6C6;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#9C1C1C;letter-spacing:1px">STEP 1</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Pick your filters</span><br><span style="font-size:12px;color:#57534E">Choose categories, a keyword, or a start date. Leave everything blank for the latest articles sitewide.</span></td><td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #F3C6C6;border-left:none;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#9C1C1C;letter-spacing:1px">STEP 2</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Run it</span><br><span style="font-size:12px;color:#57534E">Start the Actor directly or trigger it from an Apify schedule for recurring runs.</span></td><td style="padding:16px 14px;width:33%;background:#FDECEC;border:1px solid #F3C6C6;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#9C1C1C;letter-spacing:1px">STEP 3</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Export or connect</span><br><span style="font-size:12px;color:#57534E">Download the dataset or send it straight to a downstream integration.</span></td></tr></table>

### 🧩 Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Categories | enum | No | Only include Markets, Political, Geopolitical, Economics, Personal Finance, Energy, or Technology articles. Leave empty for all. |
| Keyword filter | string | No | Only include articles whose title or body contains this text. |
| Max items | integer | No | Maximum number of articles to return. |
| Include page-level details | boolean | No | Adds a premium-article flag, author photo, short summary, and embedded video ID per article. Makes one extra request per article. |
| Incremental monitor mode | boolean | No | Only return articles that are new or changed since your last run with the same monitor state name. |
| Monitor state name | string | No | Name for this run's incremental state. Use different names to track separate watchlists independently. |
| Published after | string | No | Only include articles published after this date. |
| Proxy configuration | object | No | Proxy settings. Datacenter (the default) is enough for this source. |

### 📊 Data table

| Field | Type | Description |
| --- | --- | --- |
| `title` | string | Article headline. |
| `url` | string | Canonical article link. |
| `author` | string | Byline as published. |
| `category` | string | One of the site's own sections (markets, political, geopolitical, and so on). |
| `publishedAt` | string | Publish date and time. |
| `body` | string | Full article text. |
| `bodyHtml` | string | Full article body with the original formatting. |
| `changeType` | string | `NEW`, `UPDATED`, or `CURRENT`, present only in incremental monitor mode. |
| `isPremium` | boolean | Whether the article is marked as a premium post. Present only with page-level details on. |
| `summary` | string | Short summary line. Present only with page-level details on. |
| `scrapedAt` | string | Time the Actor collected the record. |

### 💰 Pricing

This Actor uses pay per event pricing. Empty runs cost nothing, and there are no subscriptions.

### ⭐ Enjoying ZeroHedge News Scraper?

<table width="100%" style="display:table;width:100%"><tr><td style="padding:20px 24px 14px;background:#FDECEC;border:1px solid #F3C6C6;border-left:5px solid #9C1C1C;border-radius:10px 10px 0 0"><span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br><span style="font-size:17px;font-weight:800;color:#1C1917">If this feed keeps you ahead of the news cycle, a rating helps more traders and analysts find it.</span><br><span style="font-size:14px;color:#57534E">Your feedback tells us which categories and fields to add next.</span></td></tr><tr><td style="padding:0;background:#9C1C1C;border:1px solid #F3C6C6;border-top:none;border-radius:0 0 10px 10px;text-align:center"><a href="https://apify.com/getascraper/zerohedge-news-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a></td></tr></table>

### ❓ FAQ

#### Does this include the full article, or just a headline and summary?

The full article. Every result carries the complete text, plus title, author, category, and publish date.

#### Can I use this to track only specific topics?

Yes. Filter by category, add a keyword, or combine both to narrow results to what you care about.

#### Can I run this on a schedule and only get new articles?

Yes. Turn on incremental monitor mode and set up an Apify schedule. Each run only returns articles that are new or changed since the last one.

#### Do I need my own ZeroHedge account or API key?

No. This Actor works without any login or API key.

### 🔗 Other actors

- [CryptoPanic News Scraper: No Login, No API Key](https://apify.com/getascraper/cryptopanic-news-scraper) ↗ - Get crypto news headlines, votes, and panic scores without an account.
- [Capitol Trades Scraper: Congress Stock Trades & Monitor Mode](https://apify.com/getascraper/capitol-trades-scraper) ↗ - Track US Congress member stock trades with recurring monitoring.
- [Forge Global Scraper: Pre-IPO Valuations & Funding Rounds](https://apify.com/getascraper/forge-global-scraper) ↗ - Collect pre-IPO company valuations and funding history.
- [eToro Scraper: Top Investors & Portfolio Stats](https://apify.com/getascraper/etoro-scraper) ↗ - Get top investor rankings and portfolio performance data.
- [Dealroom Scraper: Company Funding and Investor Cap Tables](https://apify.com/getascraper/dealroom-scraper) ↗ - Collect startup funding rounds and investor data.

# Actor input Schema

## `categories` (type: `array`):

Only include articles from these categories. Leave empty for all categories.

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

Only include articles whose title or body contains this text (case-insensitive).

## `publishedAfter` (type: `string`):

Only include articles published after this date. Leave empty for no limit.

## `includeDetails` (type: `boolean`):

Fetch each article's page for extra fields (premium flag, author photo, summary, embedded video ID). Slower and makes one extra request per article - off by default since the feed already includes the full article body.

## `maxItems` (type: `integer`):

Maximum number of articles to return. The feed carries roughly the 25 latest articles sitewide.

## `onlyNewOrChanged` (type: `boolean`):

Only push articles that are new or have changed since the last run with the same state name. Useful for scheduled runs that should only report fresh news.

## `stateName` (type: `string`):

Name for this run's incremental state, used only when 'Incremental monitor mode' is on. Use different names to track separate watchlists independently.

## `proxyConfiguration` (type: `object`):

Datacenter proxy (the default) is enough - ZeroHedge has no bot wall on its RSS feed or article pages.

## Actor input object example

```json
{
  "categories": [],
  "keyword": "",
  "publishedAfter": "",
  "includeDetails": false,
  "maxItems": 25,
  "onlyNewOrChanged": false,
  "stateName": "default",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "categories": [],
    "keyword": "",
    "publishedAfter": "",
    "includeDetails": false,
    "maxItems": 25,
    "onlyNewOrChanged": false,
    "stateName": "default",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/zerohedge-news-scraper").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 = {
    "categories": [],
    "keyword": "",
    "publishedAfter": "",
    "includeDetails": False,
    "maxItems": 25,
    "onlyNewOrChanged": False,
    "stateName": "default",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/zerohedge-news-scraper").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 '{
  "categories": [],
  "keyword": "",
  "publishedAfter": "",
  "includeDetails": false,
  "maxItems": 25,
  "onlyNewOrChanged": false,
  "stateName": "default",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/zerohedge-news-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/FTO2RrnRcXtEOPZtA/builds/iPH6BbYT006bVOpdk/openapi.json
