# Fox News Search & Article - Full Content & Media (`ryyos/foxnews-search-scraper`) Actor

\[$2/1000] Instantly search Fox News by keyword and get the complete article content, images, embedded videos, authors, tags, and publish dates for every result - no manual clicking through pages.

- **URL**: https://apify.com/ryyos/foxnews-search-scraper.md
- **Developed by:** [Rio Dwi Saputra](https://apify.com/ryyos) (community)
- **Categories:** News, Automation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

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

Search **[Fox News](https://www.foxnews.com)** by keyword and get back the complete
story for every result - full article text, embedded images and videos, authors,
tags, and publish dates - without ever opening a browser. This Actor runs Fox
News' own search API and then automatically visits each result page to extract
its full content, so you get search coverage and deep detail in a single run.
Built for the [Apify platform](https://apify.com), so every run comes with a
ready-to-use API, scheduling, webhooks, and dozens of no-code integrations
(Make, Zapier, Google Sheets, and more).

### Why use this scraper?

- **Media monitoring** - track every Fox News mention of a person, company, or
  topic, with full text ready for downstream NLP or sentiment analysis.
- **Competitive and market research** - pull structured coverage of a story
  across days without manually opening dozens of tabs.
- **Content aggregation** - feed full article bodies and media straight into a
  newsletter, dashboard, or archive.
- **Fast and reliable** - talks directly to Fox News' JSON search API and
  server-rendered article data, so results come back quickly without
  browser-rendering overhead.

### How to use this Fox News Scraper

1. Click **Try for free** (or **Run**) on this Actor's page.
2. Enter one or more **Search keywords** (e.g. `"prabowo"`, `"trump tariffs"`).
3. Optionally adjust **Result types**, **Max results per keyword**, and whether
   to **fetch full detail** for each result.
4. Click **Start** and watch results land in the dataset in real time.
5. Export your results as JSON, CSV, Excel, or HTML from the **Output** tab, or
   pull them via the [Apify API](https://docs.apify.com/api/v2).

### Input

| Field | Type | Description |
|---|---|---|
| `keywords` | array of strings | One or more search terms to run against foxnews.com. |
| `resultTypes` | array | Which content types to include: `article`, `video`, `slideshow`, `show`. Defaults to `article`. |
| `maxItemsPerKeyword` | integer | Max results collected per keyword, per result type (up to 100). Default `20`. |
| `fetchFullDetail` | boolean | When `true` (default), opens every result and extracts the full article body, images, embedded videos, authors, and tags. Set to `false` for a faster run that only returns the search snippet. |

See the **Input** tab for the full schema and defaults.

### Output

Example dataset item (with `fetchFullDetail` enabled):

```json
{
  "searchKeyword": "prabowo",
  "type": "article",
  "title": "Indonesian president-elect meets with Japan's prime minister, commits to strengthening relations",
  "description": "Indonesian President-elect Prabowo Subianto met with Japanese Prime Minister Fumio Kishida.",
  "canonicalUrl": "https://www.foxnews.com/world/indonesian-president-elect-meets-japans-prime-minister-commits-strengthening-relations",
  "thumbnail": "https://static.foxnews.com/foxnews.com/content/uploads/2024/04/japan-indonesia.jpg",
  "section": "world",
  "publicationDate": "2024-04-03T10:45:02.000Z",
  "fullDetailFetched": true,
  "detailHeadline": "Indonesian president-elect meets with Japan's prime minister, commits to strengthening relations",
  "detailSubHeadline": "The meeting followed Prabowo Subianto's visit to China",
  "detailDatePublished": "2024-04-03T07:20:37-04:00",
  "detailWordCount": 402,
  "detailArticleBody": "Indonesian President-elect Prabowo Subianto said he wants to further strengthen...",
  "detailKeywords": ["asia", "associated press", "china", "japan"],
  "detailAuthors": [{ "name": "Associated Press", "url": "https://www.ap.org/" }],
  "detailPrimaryImage": { "url": "https://a57.foxnews.com/.../japan-indonesia.jpg", "width": 1280, "height": 720 },
  "detailImages": [],
  "detailVideos": [{ "id": "6315664776112", "title": "Biden pledges $20 billion deal to Indonesia", "url": "https://www.foxnews.com/video/6315664776112" }]
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or
Excel from the **Output** tab, or fetch it through the Apify API.

#### Main data fields

| Field | Description |
|---|---|
| `title`, `description`, `thumbnail`, `canonicalUrl` | Search result snippet. |
| `detailArticleBody` | Full plain-text article body. |
| `detailAuthors` | Byline authors or wire service source (e.g. Associated Press). |
| `detailPrimaryImage`, `detailImages` | Primary and in-body images. |
| `detailVideos` | Embedded/featured videos (id, title, URL). |
| `detailKeywords` | Article tags. |

### Pricing / cost estimation

This Actor is priced per result. Full-detail runs make one additional request
per result (to load the article page), so cost scales with `maxItemsPerKeyword`
and how many `resultTypes` you select. Disable **Fetch full detail** if you only
need the search snippets - it cuts requests roughly in half. \[$2/1000]

### Tips

- Narrow `resultTypes` to just `article` (the default) if you don't need videos,
  slideshows, or shows - it reduces the number of detail pages fetched.
- Keep `maxItemsPerKeyword` reasonable (Fox News search caps at 100 matches per
  query) to control run duration and cost.

### FAQ

**Is this legal?** This Actor only reads publicly available pages on
foxnews.com, the same way a browser would. You are responsible for using the
data in compliance with Fox News' terms of service and applicable law.

**Something looks wrong or missing?** Open an issue on this Actor's Issues tab
and include the keyword and affected URL - Fox News occasionally changes page
markup, and reports help keep the scraper up to date.

**Need a custom version?** Get in touch via the Issues tab to discuss a tailored
build (extra fields, other Fox properties, etc.).

# Actor input Schema

## `keywords` (type: `array`):

One or more keywords/phrases to search on foxnews.com (e.g. "prabowo", "trump tariffs"). One search is run per keyword.

## `resultTypes` (type: `array`):

Which content types to include from the search results. Fox News search returns a mix of articles, videos, slideshows, and shows.

## `maxItemsPerKeyword` (type: `integer`):

Maximum number of items to collect per keyword, per result type. Fox News search caps at 100 matches per query.

## `fetchFullDetail` (type: `boolean`):

When enabled, this Actor opens every search result's page and extracts the full article body, all images, embedded videos, authors, and tags. Disable for a faster run that only returns the search snippet (title, description, thumbnail, URL).

## Actor input object example

```json
{
  "keywords": [
    "prabowo"
  ],
  "resultTypes": [
    "article"
  ],
  "maxItemsPerKeyword": 20,
  "fetchFullDetail": true
}
```

# Actor output Schema

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

No description

## `runInfo` (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 = {
    "keywords": [
        "prabowo"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ryyos/foxnews-search-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 = { "keywords": ["prabowo"] }

# Run the Actor and wait for it to finish
run = client.actor("ryyos/foxnews-search-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 '{
  "keywords": [
    "prabowo"
  ]
}' |
apify call ryyos/foxnews-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ryyos/foxnews-search-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/T5NxDScQJKbZyhW8k/builds/Z1ZtOhlffNrXdcAIh/openapi.json
