# Forbes Scraper (`xtracto/forbes-scraper`) Actor

Securely extracts full Forbes articles by bypassing advanced DataDome security measures, ensuring uninterrupted data flow.

- **URL**: https://apify.com/xtracto/forbes-scraper.md
- **Developed by:** [Farhan Febrian Nauval](https://apify.com/xtracto) (community)
- **Categories:** News, AI, Developer tools
- **Features:** Limited permissions
- **Stats:** 13 total users, 2 monthly users, 83.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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?

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

## Forbes Article Scraper

Extract article text, headline, author, publication date, and metadata from **forbes.com** article URLs. Forbes covers business leadership, entrepreneurship, investing, technology, and the Forbes lists of the world's wealthiest individuals and most valuable companies.

### Why Use This Actor?

- **No browser, no proxy** - browser-accurate TLS fingerprints are enough to fetch Forbes articles.
- **Entrepreneur and startup coverage** - Forbes covers early-stage companies, founders, and funding in depth.
- **Wealth and ranking research** - track the Forbes Billionaires list and industry valuations.
- **Investing and personal finance** - Forbes Advisor covers retail investor topics including ETFs and real estate.
- **Technology leadership** - Forbes CIO Network tracks enterprise IT and digital transformation trends.

### How It Works

This actor uses **only HTTP requests** - no browser, no Selenium, no Playwright. Articles are extracted in seconds with RAM usage well under 256 MB.

### Input

```json
{
  "url": "https://www.forbes.com/sites/author/2026/04/13/example-article/",
  "urls": [
    "https://www.forbes.com/sites/author/2026/04/13/article-one/",
    "https://www.forbes.com/sites/author/2026/04/12/article-two/"
  ]
,
  "mode": "article",
  "limit": 10
}
```

### Output

```json
{
  "url": "https://www.forbes.com/sites/robreischel/2026/05/15/packers-coach-matt-lafleur-calls-schedule-unique/",
  "source": "Forbes",
  "title": "Packers Coach Matt LaFleur Calls Schedule ‘Unique’",
  "description": "",
  "content": "The Green Bay Packers’ 2026 schedule is set. And with three of the first four games on the road, six night contests and four of five at home to end the year,the schedule is a wild one. Green Bay’s eighth-year boss Matt LaFleur, the longest tenured coach in football that hasn't been to a Super Bowl, gave his thoughts on the schedule to Packers.com. Green Bay opens the year at NFC North rival Minnesota....",
  "image": "https://imageio.forbes.com/specials-images/imageserve/67ec26439d2a0791cc1660d0/0x0.jpg?format=jpg&height=900&width=1600&fit=bounds",
  "language": "en",
  "word_count": 514,
  "published_date": "2026-05-15T12:09:44-04:00",
  "modified_date": "",
  "authors": [
    "Rob Reischel"
  ],
  "categories": "",
  "tags": ""
}
```

### Fetch Latest News

Set `mode` to `"latest"` to fetch the newest article URLs and titles from Forbes instead of extracting a single article.

**Input:**

```json
{
  "mode": "latest",
  "limit": 10
}
```

**Output** - array of objects:

```json
[
  {
    "url": "https://www.forbes.com/sites/siladityaray/2026/04/20/iran-says-blockade-of-its-ports-will-come-at-significant-costs-for-everyone-as-oil-rises/",
    "title": "Iran Says Blockade Of Its Ports Will Come At ‘Significant Costs For Everyone’ As Oil Rises",
    "published_date": "Mon, 20 Apr 2026 03:49:29 -0400",
    "source": "Forbes"
  }
  //...
]
```

Source: `https://www.forbes.com/business/feed/` (RSS feed)

### Cron Schedule: Auto-Fetch Newest Articles

Combine `mode: "latest"` and `mode: "article"` to keep a fresh feed running on autopilot:

1. **Schedule** a recurring run of this Actor with `{"mode": "latest", "limit": 20}` via Apify Schedules (UI ▸ Schedules ▸ Create new). A cron expression like `*/30 * * * *` runs it every 30 minutes.
2. **Webhook** the dataset of the latest run into another Actor run with `mode: "article"` and the new URLs as input — Apify integrations let you chain runs via the "Actor finished" webhook without any glue code.
3. The article-mode run extracts the full body, image, authors, and metadata for each URL and appends to your master dataset.

Common cron expressions:

| Frequency | Cron |
|---|---|
| Every 15 minutes | `*/15 * * * *` |
| Hourly | `0 * * * *` |
| Every 6 hours | `0 */6 * * *` |
| Daily at 06:00 UTC | `0 6 * * *` |

### Notes

- **Bot protection**: Forbes fronts its pages with DataDome. This actor presents a browser-accurate TLS fingerprint, so it works with **no proxies required**.
- Works on the Apify platform out of the box - no residential proxies needed.
- Full article extraction (content, authors, date) is supported.

### Other News Actors

Need a different news source? All actors in this collection:

| Actor | Source |
|---|---|
| [`aljazeera-scraper`](https://apify.com/xtracto/aljazeera-scraper) | Al Jazeera |
| [`apnews-scraper`](https://apify.com/xtracto/apnews-scraper) | AP News |
| [`bbc-scraper`](https://apify.com/xtracto/bbc-scraper) | BBC News |
| [`cnbc-scraper`](https://apify.com/xtracto/cnbc-scraper) | CNBC |
| [`forbes-scraper`](https://apify.com/xtracto/forbes-scraper) | Forbes |
| [`fortune-scraper`](https://apify.com/xtracto/fortune-scraper) | Fortune |
| [`ft-scraper`](https://apify.com/xtracto/ft-scraper) | Financial Times |
| [`guardian-scraper`](https://apify.com/xtracto/guardian-scraper) | The Guardian |
| [`msn-scraper`](https://apify.com/xtracto/msn-scraper) | MSN News |
| [`nytimes-scraper`](https://apify.com/xtracto/nytimes-scraper) | New York Times |
| [`reuters-scraper`](https://apify.com/xtracto/reuters-scraper) | Reuters |
| [`scmp-scraper`](https://apify.com/xtracto/scmp-scraper) | South China Morning Post |
| [`techcrunch-scraper`](https://apify.com/xtracto/techcrunch-scraper) | TechCrunch |
| [`upi-scraper`](https://apify.com/xtracto/upi-scraper) | UPI |
| [`yahoo-finance-scraper`](https://apify.com/xtracto/yahoo-finance-scraper) | Yahoo Finance |
| [`smart-news-loader`](https://apify.com/xtracto/smart-news-loader) | Any URL - adaptive HTTP loader |
| [`bloomberg-scraper`](https://apify.com/xtracto/bloomberg-news-article-scraper) | Bloomberg |

All actors support `mode: "latest"` for fetching newest article URLs from each source.

### Scope & Compliance

- **Public content only.** This actor requests pages the same way an ordinary anonymous visitor's browser does. It uses **no login, no subscriber credentials, no cookies from a paid account**, and does not attempt to obtain content the publisher withholds from anonymous visitors.
- **Subscriber-only material is not retrieved.** Where the publisher serves only a headline, summary or intro to anonymous visitors, that is what the actor returns — and it flags the result so your pipeline can tell the difference.
- **No security control is defeated.** The actor sends ordinary HTTPS requests with a browser-accurate TLS fingerprint so it does not need a browser engine. It solves no CAPTCHAs and forges no authentication.
- **Copyright stays with the publisher.** Output is intended for research, monitoring, archiving and analysis. You are responsible for using it in line with the publisher's Terms of Service, copyright law and any applicable data-protection rules — republishing article text is generally not permitted.
- **Rate limits are respected.** Requests are paced and retried politely; the actor is not designed for denial-of-service-scale traffic.

# Actor input Schema

## `url` (type: `string`):

Single article URL to extract.

## `urls` (type: `array`):

List of article URLs to extract.

## `mode` (type: `string`):

Operation mode: 'article' to extract a single article (default), 'latest' to fetch newest headlines from the source's RSS feed.

## `limit` (type: `integer`):

Number of latest articles to return when mode is 'latest'. Default: 10.

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

Optional. Requests go through Apify Proxy when enabled; an article that does not load is retried up to 3 times, each through a new proxy session.

## Actor input object example

```json
{
  "url": "https://www.forbes.com/sites/siladityaray/2026/10/14/trump-shares-bizarre-ai-tiger-video-in-late-night-spree-after-posting-fatal-attack-footage/",
  "mode": "article",
  "limit": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

One row per scraped record, stored in the run's default dataset.

# 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 = {
    "url": "https://www.forbes.com/sites/siladityaray/2026/10/14/trump-shares-bizarre-ai-tiger-video-in-late-night-spree-after-posting-fatal-attack-footage/",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/forbes-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 = {
    "url": "https://www.forbes.com/sites/siladityaray/2026/10/14/trump-shares-bizarre-ai-tiger-video-in-late-night-spree-after-posting-fatal-attack-footage/",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("xtracto/forbes-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 '{
  "url": "https://www.forbes.com/sites/siladityaray/2026/10/14/trump-shares-bizarre-ai-tiger-video-in-late-night-spree-after-posting-fatal-attack-footage/",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call xtracto/forbes-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,xtracto/forbes-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/vLIEx8A4Abu94KMXA/builds/oT8Ifv7QPM5m05i5e/openapi.json
