# Benzinga Financial News Scraper (`parseforge/benzinga-scraper`) Actor

Extract Benzinga financial news, earnings coverage, analyst ratings, and trading ideas with tickers, authors, and full article bodies. Built for day traders and algo developers.

- **URL**: https://apify.com/parseforge/benzinga-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** News, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $18.75 / 1,000 result items

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)

## 📈 Benzinga News Scraper

> 🚀 **Export Benzinga financial news in seconds.** Pull earnings reports, analyst calls, trading ideas, and market-moving headlines with tickers and tags attached. No API key, no registration, no manual copy-paste.

> 🕒 **Last updated:** 2026-05-28 · **📊 16 fields** per record · **40+ news sections covered** · **Tickers + tags extracted** · **Full article bodies**

Benzinga covers the retail-trader corner of financial markets that Reuters and Bloomberg often skip: actionable stock ideas, after-hours movers, analyst ratings, insider trades, and the noisy edge cases that move premarket prices. This scraper turns those articles into clean, structured records so you can pipe them into trading dashboards, sentiment models, or research workflows without ever opening a browser.

Articles come back with every field you actually need: headline, publish timestamp, author, category, full body text, mentioned tickers, and topic tags. You can scrape an entire section like Large Cap News or Earnings, run a targeted Benzinga site search for a stock or theme, or pass in a list of direct article URLs. Output is dataset-ready JSON, CSV, Excel, or XML, refreshed on every run from the live Benzinga site.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Day traders and swing traders | Premarket and after-hours news monitoring |
| Quant and algorithmic trading developers | Headline-driven sentiment signals for backtests |
| Retail investors and finance creators | Earnings season coverage and analyst takes |
| Financial advisors and research analysts | Building watchlists from breaking ticker news |

---

### 📋 What the Benzinga Scraper does

- 📰 **Section coverage.** Pull headlines from 40+ Benzinga sections including Large Cap, Small Cap, Earnings, Insider Trades, Analyst Ratings, IPOs, Cannabis, Crypto, and Trading Ideas.
- 🔍 **Site search.** Pass a query like "Tesla earnings" or "Nvidia AI" and grab the live Benzinga search results.
- 🎯 **Direct URLs.** Provide article URLs you already have and parse them on demand.
- 🏷️ **Ticker extraction.** Every record carries the stocks mentioned in the article, pulled from both structured data and inline links.
- 📝 **Full bodies.** Each article ships with the complete text, not just a teaser or summary.
- ⏱️ **Real-time refresh.** Every run hits the live Benzinga site, so timestamps reflect the moment of scrape.

Each record bundles the cover image, headline, canonical URL, numeric article ID, category, author and author profile link, description, full article body, tickers array, tags array, publish and update timestamps, free-access flag, and a scrape timestamp.

> 💡 **Why it matters:** Benzinga moves retail trading flow. Catching a headline minutes after it lands, with the ticker already extracted, is the difference between trading the move and reading about it on Twitter.

---

### 🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to wire the actor into a Slack alert, a Google Sheet, and a sentiment dashboard.

---

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr>
<td>startUrls</td>
<td>array</td>
<td>No</td>
<td>Direct Benzinga article URLs to scrape. When set, the actor ignores category and search.</td>
</tr>
<tr>
<td>category</td>
<td>string (enum)</td>
<td>No</td>
<td>One of 40+ Benzinga sections (Large Cap News, Earnings, Insider Trades, Analyst Ratings, etc.). Default is Large Cap News.</td>
</tr>
<tr>
<td>searchQuery</td>
<td>string</td>
<td>No</td>
<td>Free-text Benzinga site-search term. Overrides category when set.</td>
</tr>
<tr>
<td>maxItems</td>
<td>integer</td>
<td>No</td>
<td>Cap on how many articles to return. Free plan is limited to 10. Paid plans allow up to 1,000,000.</td>
</tr>
</table>

Example: scrape the latest 25 earnings articles.

```json
{
  "category": "/news/earnings",
  "maxItems": 25
}
````

Example: search Benzinga for Nvidia coverage and pull 50 articles.

```json
{
  "searchQuery": "Nvidia AI",
  "maxItems": 50
}
```

> ⚠️ **Good to Know:** Benzinga category pages do not paginate beyond their initial 20-30 article load. To go deeper, combine multiple categories across separate runs, or use the search mode for targeted coverage.

***

### 📊 Output

Every article record carries the same 16 fields. Output is available as JSON, CSV, Excel, XML, or HTML directly from the run.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🖼 imageUrl | string | https://cdn.benzinga.com/cdn-cgi/image/width=1200,height=800,fit=crop/files/images/story/2026/05/28/Marvell.jpeg |
| 📌 title | string | Marvell CEO Says Data Center Business Is 'On Fire' - Marvell Technology (NASDAQ:MRVL) |
| 🔗 url | string | https://www.benzinga.com/trading-ideas/movers/26/05/52833213/marvell-ceo-says-data-center-business-is-on-fire |
| 🆔 id | string | 52833213 |
| 🗂 category | string | Earnings |
| ✍️ author | string | Lekha Gupta |
| 👤 authorUrl | string | https://www.benzinga.com/author/lekha-gupta |
| 📝 description | string | Marvell (MRVL) beats Q1 estimates & forecasts massive AI infrastructure growth. |
| 💹 tickers | array | \["MRVL"] |
| 🏷 tags | array | \["why it's moving"] |
| 🗓 publishedAt | string (ISO) | 2026-05-28T07:10:24.000-04:00 |
| 🔁 updatedAt | string (ISO) | 2026-05-28T07:10:25.000-04:00 |
| 🔓 isAccessibleForFree | boolean | true |
| 📄 articleBody | string | Marvell Technology Inc. (NASDAQ:MRVL) stock traded lower in premarket trading Thursday... |
| 🕒 scrapedAt | string (ISO) | 2026-05-28T11:19:43.983Z |
| ❌ error | string or null | null |

#### 📦 Sample records

<details>
<summary>🟢 Typical: earnings story with ticker and tags</summary>

```json
{
  "imageUrl": "https://cdn.benzinga.com/cdn-cgi/image/width=1200,height=800,fit=crop/files/images/story/2026/05/28/HP-IncMunich--Germany-Bavaria---February.jpeg",
  "title": "Why Is HP Stock Falling Thursday? - HP (NYSE:HPQ)",
  "url": "https://www.benzinga.com/trading-ideas/movers/26/05/52831679/hp-warns-rising-memory-costs-will-pressure-margins-through-year-end",
  "id": "52831679",
  "category": "Earnings",
  "author": "Lekha Gupta",
  "authorUrl": "https://www.benzinga.com/author/lekha-gupta",
  "description": "HP beats Q2 expectations but warns inflationary pressures and rising memory costs will squeeze profit margins through year-end.",
  "tickers": ["HPQ"],
  "tags": ["why it's moving"],
  "publishedAt": "2026-05-28T06:04:24.000-04:00",
  "updatedAt": "2026-05-28T06:04:25.000-04:00",
  "isAccessibleForFree": true,
  "articleBody": "HP Inc. (NYSE:HPQ) stock fell in premarket trading Thursday after the company reported second-quarter results that topped Wall Street expectations but narrowed its full-year adjusted profit outlook...",
  "scrapedAt": "2026-05-28T11:19:43.983Z",
  "error": null
}
```

</details>

<details>
<summary>🟡 Edge case: government category with multiple tickers</summary>

```json
{
  "imageUrl": "https://cdn.benzinga.com/cdn-cgi/image/width=1200,height=800,fit=crop/files/images/story/2026/05/27/Dell.jpeg",
  "title": "Dell Wins $9.7 Billion Pentagon Contract, Fueling Stock Rally - Dell Technologies (NYSE:DELL)",
  "url": "https://www.benzinga.com/trading-ideas/movers/26/05/52827858/dell-wins-9-7-billion-pentagon-contract-fueling-stock-rally",
  "id": "52827858",
  "category": "Government",
  "author": "Erica Kollmann",
  "authorUrl": "https://www.benzinga.com/author/erica-kollmann",
  "description": "Dell stock rises after winning $9.7 billion contract to manage Microsoft licenses for the Department of Defense.",
  "tickers": ["DELL", "MSFT"],
  "tags": ["AeroSpace Defense", "why it's moving"],
  "publishedAt": "2026-05-27T18:09:47.000-04:00",
  "updatedAt": "2026-05-27T18:09:48.000-04:00",
  "isAccessibleForFree": true,
  "articleBody": "Dell Technologies Inc. (NYSE:DELL) shares climbed after the company secured a $9.7 billion contract from the U.S. Department of Defense...",
  "scrapedAt": "2026-05-28T11:19:44.207Z",
  "error": null
}
```

</details>

<details>
<summary>⚪ Sparse: short description, single ticker, default tags</summary>

```json
{
  "imageUrl": "https://cdn.benzinga.com/cdn-cgi/image/width=1200,height=800,fit=crop/files/images/story/2026/05/27/Synopsys--Inc-_0.jpeg",
  "title": "Synopsys Stock Slips Despite Q2 Earnings Beat - Synopsys (NASDAQ:SNPS)",
  "url": "https://www.benzinga.com/markets/earnings/26/05/52825465/synopsys-stock-slips-despite-q2-earnings-beat",
  "id": "52825465",
  "category": "Earnings",
  "author": "Erica Kollmann",
  "authorUrl": "https://www.benzinga.com/author/erica-kollmann",
  "description": "Here's a look at the details inside Synopsys' Q2 earnings report.",
  "tickers": ["SNPS"],
  "tags": ["AI", "semiconductors", "why it's moving"],
  "publishedAt": "2026-05-27T16:31:32.000-04:00",
  "updatedAt": "2026-05-27T16:31:33.000-04:00",
  "isAccessibleForFree": true,
  "articleBody": "Synopsys (NASDAQ:SNPS) reported second-quarter results that topped Wall Street estimates...",
  "scrapedAt": "2026-05-28T11:19:44.580Z",
  "error": null
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 📰 | **40+ sections covered.** Earnings, analyst ratings, insider trades, IPOs, cannabis, crypto, trading ideas, and more, all selectable from a dropdown. |
| 💹 | **Tickers auto-extracted.** Every article ships with the symbols mentioned, pulled from both structured data and inline quote links. |
| 🏷️ | **Topic tags included.** Articles come tagged with themes like AI, semiconductors, biotech, regulation, and earnings movers. |
| 📄 | **Full article body.** Not a snippet, not a paywalled teaser. The whole story, ready for sentiment models. |
| 🔍 | **Search mode.** Hit Benzinga's site search directly with a free-text query for ticker-specific or theme-specific coverage. |
| ⚡ | **Tier 1 fetch.** No browser overhead, no proxy cost. Each article fetched in under 500ms on average. |
| 🔧 | **Clean ISO timestamps.** Publish and update times in ISO 8601, ready for time-series databases and date filters. |

> 📊 In a recent test run, 5 articles were scraped from the Large Cap News section in 1.5 seconds, with 100% field completeness across imageUrl, title, tickers, tags, and body.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ Benzinga News Scraper** *(this Actor)* | Pay per article | 40+ sections, search, direct URLs | Live on every run | Section, search query, URL list | 1 minute |
| Official news syndication contracts | $$$$ | Full firehose | Live | Enterprise filters | Weeks of legal |
| Paid live news APIs | $$$ | Broad financial coverage | Live | API parameters | Hours, API key required |
| RSS feed aggregators | Free | Headlines only, no body | 15-30 min lag | Limited | Minutes |
| Manual browser checking | Free | Whatever you can click | Manual | None | None, but doesn't scale |

For traders and quants who need structured Benzinga records without a corporate contract, the actor sits in the sweet spot between free RSS skim and enterprise firehose.

***

### 🚀 How to use

1. ✍️ **Sign up for Apify** in 30 seconds at [console.apify.com](https://console.apify.com/sign-up?fpr=vmoqkp). Free plan included.
2. 🔍 **Open the Benzinga News Scraper** in the Apify Store and click Try for free.
3. ⚙️ **Pick a section or enter a search.** Default is Large Cap News with maxItems set to 10.
4. ▶️ **Click Start** and watch the run log stream articles in real time.
5. 💾 **Export results** as JSON, CSV, Excel, or XML, or pipe them through one of the 50+ Apify integrations.

> ⏱️ Total time from sign-up to first dataset: under 3 minutes.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%">

#### 📊 Day traders and swing traders

- Premarket headline scan before the open
- After-hours news monitoring for overnight gappers
- Ticker-specific watch on earnings days
- Section-level scan of Insider Trades and Movers

</td>
<td width="50%">

#### 🤖 Quant and algo developers

- Build sentiment signals from Benzinga headlines
- Backtest news-driven strategies on historical pulls
- Train NLP models on retail-trading article bodies
- Feed live tickers into an alerting pipeline

</td>
</tr>
<tr>
<td width="50%">

#### 📰 Finance creators and researchers

- Source breaking-story coverage for newsletters
- Cite analyst calls in research notes
- Track narrative themes across an earnings season
- Compare retail vs institutional coverage of the same event

</td>
<td width="50%">

#### 💼 Advisors and PMs

- Watch for client-portfolio names in the news
- Compile sector-specific briefings for clients
- Track regulatory and political news that moves holdings
- Monitor SPAC, IPO, and offering activity

</td>
</tr>
</table>

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Empirical datasets for papers, thesis work, and coursework
- Longitudinal studies tracking changes across snapshots
- Reproducible research with cited, versioned data pulls
- Classroom exercises on data analysis and ethical scraping

</td>
<td width="50%">

#### 🎨 Personal and creative

- Side projects, portfolio demos, and indie app launches
- Data visualizations, dashboards, and infographics
- Content research for bloggers, YouTubers, and podcasters
- Hobbyist collections and personal trackers

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Transparency reporting and accountability projects
- Advocacy campaigns backed by public-interest data
- Community-run databases for local issues
- Investigative journalism on public records

</td>
<td width="50%">

#### 🧪 Experimentation

- Prototype AI and machine-learning pipelines with real data
- Validate product-market hypotheses before engineering spend
- Train small domain-specific models on niche corpora
- Test dashboard concepts with live input

</td>
</tr>
</table>

***

### 🔌 Automating Benzinga News Scraper

Trigger the actor from anywhere with code, no-code tools, or a cron schedule:

- [**Node.js SDK**](https://docs.apify.com/sdk/js/) for embedding the scraper inside a Node service.
- [**Python client**](https://docs.apify.com/api/client/python/) for calling the actor from Jupyter, FastAPI, or a quant research notebook.
- [**Apify API docs**](https://docs.apify.com/api/v2) for raw HTTP triggers from any language.

For continuous coverage, use [Apify Schedules](https://docs.apify.com/platform/schedules) to run the actor every 5 minutes during market hours and pipe the dataset into your storage or alerting layer.

***

### ❓ Frequently Asked Questions

<details>
<summary>📰 <b>Which Benzinga sections can I scrape?</b></summary>

The category dropdown covers 40+ sections including All News, Large Cap, Small Cap, Earnings, Insider Trades, Rumors, Offerings, Penny Stocks, IPOs, Dividends, Buybacks, Short Sellers, Regulations, Markets, Global, Politics, Healthcare, Biotech, Tech, Sector ETFs, Cannabis, Cryptocurrency, Equities, Options, Analyst Ratings (with Color, Initiation, Price Target, Reiteration sub-views), Trading Ideas (with Movers, Long Ideas, Short Ideas), Government, Crypto, and several ETF families.

</details>

<details>
<summary>💹 <b>Are tickers really extracted automatically?</b></summary>

Yes. Each article includes a tickers array built from two sources: the structured ld+json mentions block embedded in the page, and the inline quote/SYMBOL links inside the body. Most earnings and movers articles return 1-5 tickers per record.

</details>

<details>
<summary>📝 <b>Do I get the full article body?</b></summary>

Yes. The articleBody field carries the complete text. In a recent sample, bodies ranged from 1,300 to 3,300 characters, equivalent to the full Benzinga story.

</details>

<details>
<summary>🔍 <b>How does search mode work?</b></summary>

Set searchQuery to a phrase like "Nvidia AI" or "Tesla earnings" and the actor hits Benzinga's site-search endpoint, then parses the returned article URLs the same way as category mode. Useful when you want all coverage tied to a single ticker or theme.

</details>

<details>
<summary>📋 <b>Can I pass a list of article URLs directly?</b></summary>

Yes. Populate startUrls with Benzinga article links and the actor scrapes them directly without hitting any listing pages. Useful when you already have URLs from another source.

</details>

<details>
<summary>📦 <b>What export formats are supported?</b></summary>

Apify lets you export the dataset as JSON, CSV, Excel (XLSX), XML, HTML, or RSS, either from the run page or via the dataset items API.

</details>

<details>
<summary>⏱️ <b>How fresh is the data?</b></summary>

Every run fetches live HTML from Benzinga at the moment of scrape. The scrapedAt field on each record is set to the exact timestamp the article was parsed.

</details>

<details>
<summary>💼 <b>Can I use this for commercial purposes?</b></summary>

Yes. Apify's standard terms apply. Many users plug the output directly into trading dashboards, sentiment models, internal newsletters, and customer-facing apps. You are responsible for following any licensing terms attached to the source content.

</details>

<details>
<summary>💳 <b>Do I need a paid Apify plan?</b></summary>

No, you can start on the free plan with a 10-item cap per run. The paid plans unlock the full 1,000,000-item cap and proxy quotas if you need them.

</details>

<details>
<summary>🛠 <b>What happens if a run fails partway?</b></summary>

Failed article fetches are pushed to the dataset as error records with the source URL attached. Successful articles save normally, so you never lose what was already collected. Re-run the actor or feed the failed URLs back through startUrls to retry.

</details>

<details>
<summary>⚖️ <b>Is scraping Benzinga legal?</b></summary>

The actor collects only publicly visible pages without bypassing any login or paywall. As with all web scraping, you are responsible for following the source's terms of service and applicable laws in your jurisdiction.

</details>

<details>
<summary>🔌 <b>Can I integrate the output with my existing tools?</b></summary>

Yes. The dataset connects to Make, Zapier, Slack, Airbyte, Google Drive, GitHub, and any HTTP-aware service via the Apify API. See the Integrate with any app section below.

</details>

***

### 🔌 Integrate with any app

Pipe the dataset into your existing stack with a few clicks:

- [**Make**](https://apify.com/integrations/make) - Trigger downstream automations when a new article lands.
- [**Zapier**](https://apify.com/integrations/zapier) - Wire the actor into 5,000+ apps with no code.
- [**Slack**](https://apify.com/integrations/slack) - Post a Slack alert when a ticker on your watchlist appears in a headline.
- [**Airbyte**](https://apify.com/integrations/airbyte) - Sync the dataset into Snowflake, BigQuery, Redshift, or Postgres.
- [**GitHub**](https://apify.com/integrations/github) - Commit the latest dataset to a repo on every run.
- [**Google Drive**](https://apify.com/integrations/google-drive) - Drop the export into a shared folder for the team.

***

### 🔗 Recommended Actors

- [**📊 Yahoo Finance Scraper**](https://apify.com/parseforge/yahoo-finance-scraper) - OHLCV candles, 52-week ranges, and crypto prices for the tickers Benzinga mentions.
- [**📜 SEC Form 4 Scraper**](https://apify.com/parseforge/sec-form4-scraper) - Cross-reference Benzinga's Insider Trades section with the underlying SEC filings.
- [**💡 TradingView Ideas Scraper**](https://apify.com/parseforge/tradingview-ideas-scraper) - Pair Benzinga news flow with crowdsourced chart setups for the same tickers.
- [**💰 NerdWallet Scraper**](https://apify.com/parseforge/nerdwallet-scraper) - Round out finance coverage with consumer-side product research and rate roundups.
- [**🗳 FEC Campaign Finance Scraper**](https://apify.com/parseforge/fec-campaign-finance-contributions-scraper) - Tie political and government Benzinga stories to federal campaign contribution data.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more finance, government, and market scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) and a maintainer will get back to you within one business day.

***

> **⚠️ Disclaimer:** This actor is an independent tool, not affiliated with or endorsed by Benzinga. It collects only publicly available data from the live Benzinga website. Users are responsible for following the source's terms of service and any applicable laws.

# Actor input Schema

## `startUrls` (type: `array`):

Direct Benzinga article URLs to scrape (e.g. https://www.benzinga.com/markets/earnings/26/05/52824993/marvell-...). Leave empty to use category or search.

## `category` (type: `string`):

Pick a Benzinga section to scrape. Articles are listed in publish order, newest first.

## `searchQuery` (type: `string`):

Optional Benzinga search term (e.g. "Tesla earnings", "Nvidia AI"). When set, the actor scrapes Benzinga's site-search results page instead of the category.

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "startUrls": [],
  "category": "/news/large-cap",
  "maxItems": 10
}
```

# 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 = {
    "startUrls": [],
    "category": "/news/large-cap",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/benzinga-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 = {
    "startUrls": [],
    "category": "/news/large-cap",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/benzinga-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [],
  "category": "/news/large-cap",
  "maxItems": 10
}' |
apify call parseforge/benzinga-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/benzinga-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Benzinga Financial News Scraper",
        "description": "Extract Benzinga financial news, earnings coverage, analyst ratings, and trading ideas with tickers, authors, and full article bodies. Built for day traders and algo developers.",
        "version": "0.1",
        "x-build-id": "LlNOd1dD0zqbOCEeV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~benzinga-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-benzinga-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~benzinga-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-benzinga-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~benzinga-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-benzinga-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Direct Benzinga article URLs to scrape (e.g. https://www.benzinga.com/markets/earnings/26/05/52824993/marvell-...). Leave empty to use category or search.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "/news",
                            "/news/large-cap",
                            "/news/small-cap",
                            "/news/insider-trades",
                            "/news/rumors",
                            "/news/offerings",
                            "/news/penny-stocks",
                            "/news/earnings",
                            "/news/ipos",
                            "/news/dividends",
                            "/news/buybacks",
                            "/news/short-sellers",
                            "/news/regulations",
                            "/news/markets",
                            "/news/global",
                            "/news/politics",
                            "/news/health-care",
                            "/news/biotech",
                            "/news/tech",
                            "/news/sector-etfs",
                            "/markets",
                            "/markets/cannabis",
                            "/markets/cryptocurrency",
                            "/markets/equities",
                            "/markets/tech",
                            "/markets/options",
                            "/analyst-stock-ratings",
                            "/analyst-stock-ratings/analyst-color",
                            "/analyst-stock-ratings/initiation",
                            "/analyst-stock-ratings/price-target",
                            "/analyst-stock-ratings/reiteration",
                            "/trading-ideas",
                            "/trading-ideas/movers",
                            "/trading-ideas/long-ideas",
                            "/trading-ideas/short-ideas",
                            "/government",
                            "/government/regulations",
                            "/crypto",
                            "/etfs",
                            "/etfs/broad-u-s-equity-etfs",
                            "/etfs/emerging-market-etfs",
                            "/etfs/sector-etfs",
                            "/etfs/specialty-etfs",
                            "/"
                        ],
                        "type": "string",
                        "description": "Pick a Benzinga section to scrape. Articles are listed in publish order, newest first."
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Optional Benzinga search term (e.g. \"Tesla earnings\", \"Nvidia AI\"). When set, the actor scrapes Benzinga's site-search results page instead of the category."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
