# NBC News Keyword Search (`ryyos/nbcnews-keyword-search-scraper`) Actor

\[$0.9/1000] Search NBC News by keyword and get full article/video detail per result - body text, authors, timestamps and every image/video URL ready to download, not just search snippets

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

## Pricing

from $0.80 / 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/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

**NBC News Keyword Search Scraper** searches [nbcnews.com](https://www.nbcnews.com) for any keyword or phrase and returns full detail for every matching article and video - not just the title and snippet you'd see on a search results page, but the complete story: full body text, byline authors, publish/update timestamps, topic tags, and every image and video as a directly-downloadable URL. Give it a query, get back clean structured JSON for every match. Run it ad-hoc, schedule it to track a topic over time, and pipe results into a spreadsheet, database, or pipeline via Apify's built-in integrations.

### Why use NBC News Keyword Search Scraper?

- **Track any topic across NBC News' full archive.** Search runs against NBC News' own site-search index, covering years of published content, not just recent articles.
- **Full detail per result, automatically.** Every search hit is opened and scraped completely, reusing the same enrichment as the companion NBC News Scraper - no need to feed URLs into a second tool.
- **Great for monitoring and research.** Schedule a query to run daily and catch every new article/video matching a brand, person, or story as it's published.
- **No local setup.** Runs entirely on Apify's infrastructure with built-in scheduling, monitoring, retries, and proxy support if you ever need it.

### How to use NBC News Keyword Search Scraper

1. Click **Try for free** (or **Start** if you already have an Apify account).
2. On the **Input** tab, enter your search `query` and set `maxResults`.
3. Click **Start** and watch the run progress in real time.
4. Once finished, open the **Output** tab to preview results, or export the dataset as JSON, CSV, Excel, HTML, or via the API.

### Input

| Field | Type | Description |
| --- | --- | --- |
| `query` | string | Free-text keyword or phrase to search NBC News for. Required. |
| `maxResults` | integer | Maximum number of search results to fetch full detail for. Default `30`. |
| `proxyConfiguration` | object | Optional Apify Proxy configuration. Off by default. |

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

### Output

Each dataset item is one matching article or video, in the same enriched shape as the companion NBC News Scraper, tagged with the `searchQuery` it matched:

```json
{
  "itemType": "article",
  "itemId": "rcna592887",
  "searchQuery": "trump",
  "headline": "Supreme Court turns away Trump's latest bid to block E. Jean Carroll award",
  "url": "https://www.nbcnews.com/politics/supreme-court/supreme-court-declines-trump-appeal-e-jean-carroll-award-rcna592887",
  "authors": [{ "name": "Lawrence Hurley", "jobTitle": "Supreme Court Reporter", "authorType": "author" }],
  "datePublished": "2026-08-17T18:52:51.000Z",
  "taxonomy": ["Politics", "Supreme Court"],
  "bodyText": "WASHINGTON - The Supreme Court on Monday declined for a second time...",
  "images": [{ "url": "https://media-cldnry.s-nbcnews.com/image/upload/...jpg" }],
  "videos": [],
  "scrapedAt": "2026-08-18T08:00:00.000Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Data table

| Field | Description |
| --- | --- |
| `itemType` | `article` or `video` |
| `itemId` | NBC News' internal content ID |
| `searchQuery` | The keyword/phrase this item matched |
| `headline`, `description` | Title and summary |
| `url` | Canonical item URL |
| `authors` | Byline authors (articles only) with name, job title, author type |
| `datePublished`, `dateModified`, `dateCreated` | ISO-8601 timestamps |
| `taxonomy` | Named topic tags |
| `bodyText` | Full plain-text article body (articles only) |
| `images` | Every image, with direct URL, caption, alt text, dimensions |
| `videos` | Every video, with direct MP4/HLS URL, all format variants, duration |

### How much does it cost to scrape NBC News search results?

This Actor is priced per 1,000 results (see the Actor's pricing tag on this page). A typical run with `maxResults` at its default of 30 costs a small fraction of a dollar. Apify's free tier includes credits you can use to try it before committing to a paid plan.

### Tips

- Keep `maxResults` modest for frequent scheduled monitoring runs; widen it for a one-off deep pull of everything NBC News has published on a topic.
- Combine with the companion **NBC News Scraper** Actor to also browse full sections instead of searching by keyword.

### FAQ & disclaimers

This Actor only extracts data that nbcnews.com already serves publicly to any visitor's browser - no login, paywall bypass, or private data is involved. It is intended for research, monitoring, and analytics use; respect NBC News' own Terms of Service for how you use the extracted data. Found a bug or need a custom field? Use the Issues tab on this Actor's page - custom modifications are also available on request.

# Actor input Schema

## `query` (type: `string`):

Free-text keyword or phrase to search NBC News for.

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

Maximum number of search results to fetch full detail for.

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

nbcnews.com and its Queryly-hosted search API have not shown anti-bot blocking during testing, so this defaults off. Switch on Apify Proxy if you see failures.

## Actor input object example

```json
{
  "maxResults": 30,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("ryyos/nbcnews-keyword-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 = {}

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

```

## MCP server setup

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