# Startpage News Scraper (`igolaizola/startpage-news-scraper`) Actor

Scrape news SERPs from startpage.com, a privacy-focused alternative to Google Search. Collect headlines, article URLs, summaries, publishers, dates, images, rankings, and regional filters. Export JSON, CSV, or Excel, or access results via API.

- **URL**: https://apify.com/igolaizola/startpage-news-scraper.md
- **Developed by:** [Iñigo Garcia Olaizola](https://apify.com/igolaizola) (community)
- **Categories:** News, SEO tools, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.40 / 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.
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 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

## Startpage News Scraper — News SERPs, Publishers & Monitoring

Startpage News Scraper extracts news SERPs from startpage.com, a privacy-focused alternative to Google Search. Use it for media monitoring, reputation tracking, trend research, and competitive intelligence; collect headlines, article URLs, summaries, publishers, dates, images, and rankings for export in JSON, CSV, or Excel, or access them via API.

### 🤖 What does Startpage News Scraper do?

- **Article discovery** — collect headlines, destination URLs, display URLs, and summaries.
- **Source tracking** — identify publishers and publication dates.
- **Visual context** — capture thumbnail URLs and dimensions when available.
- **Ranking context** — retain overall position, result page, and page-level position.
- **Anonymous View links** — collect privacy-viewing links when Startpage provides them.
- **Search targeting** — control region, language, Safe Search, time period, and result count.

**Great for:** brand monitoring, PR reporting, news research, issue tracking, and competitive intelligence.

> SEO keywords: **startpage.com news scraper**, **news SERP scraper**, **Google Search alternative**, **news monitoring API alternative**, **headline extractor**, **Apify actor**.

### 💡 Why scrape Startpage news?

- 📰 **Monitor coverage** — follow brands, executives, products, competitors, or events.
- ⏱️ **Spot emerging stories** — use recent time filters to identify new reporting quickly.
- 📣 **Measure visibility** — compare which publishers and articles rank around a topic.
- 📊 **Build reports** — export structured headlines, dates, sources, and summaries.
- 🌍 **Compare markets** — examine how coverage changes across regions and languages.

### 🚀 How to use

1. **Add the actor** — open **Startpage News Scraper** in Apify Store.
2. **Enter `queries`** — add one or more companies, people, products, industries, or events.
3. **Set `maxItems`** — choose a limit and optional regional or recency filters.
4. **Run the actor** — click **Run** or trigger it through an Apify integration.
5. **Download results** — export the Dataset as JSON, CSV, Excel, XML, or another supported format.

### 📝 Input Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `queries` | String array | Yes | News search keywords. Each query is paginated before the next starts. |
| `maxItems` | Integer | Yes | Maximum news results to save across all queries. Set `0` for unlimited. Minimum `0`; prefilled with `10`. |
| `region` | String | No | Preferred result region. Choose `all` or a supported locale such as `en_US`, `fr_FR`, or `de_DE`. Default `all`. |
| `language` | String | No | Preferred result language selected from 82 Startpage-supported languages. Default `english`. |
| `safeSearch` | String | No | Explicit-content filtering: `strict` · `moderate` · `off`. Default `moderate`. |
| `timePeriod` | String | No | Recency filter: `any` · `day` · `week` · `month` · `year`. Default `any`. |

**Daily industry monitoring**

```json
{
  "queries": ["artificial intelligence regulation", "AI safety policy"],
  "maxItems": 100,
  "region": "en_US",
  "language": "english",
  "safeSearch": "moderate",
  "timePeriod": "day"
}
```

**European brand coverage**

```json
{
  "queries": ["electric vehicle battery investment"],
  "maxItems": 250,
  "region": "de_DE",
  "language": "deutsch",
  "safeSearch": "strict",
  "timePeriod": "month"
}
```

### 📊 Output Results

Each Dataset item can contain:

- **query**, **position**, **page**, **pagePosition** — search and ranking context.
- **title** — article headline.
- **url** — destination article URL.
- **displayUrl** — URL displayed in the result.
- **description** — article summary returned by Startpage.
- **publisher** — news source name.
- **published** — publication date.
- **thumbnailUrl** *(conditional)* — preview image URL.
- **imageWidth**, **imageHeight** *(conditional)* — preview dimensions in pixels.
- **anonymousViewUrl** *(conditional)* — Startpage Anonymous View link.

```json
{
  "query": "artificial intelligence regulation",
  "position": 1,
  "page": 1,
  "pagePosition": 1,
  "title": "New artificial intelligence rules enter final review",
  "url": "https://www.example.com/technology/ai-rules-final-review",
  "displayUrl": "https://www.example.com/technology/ai-rules-final-review",
  "description": "Regulators published updated guidance for companies developing and deploying AI systems.",
  "publisher": "Example News",
  "published": "2026-07-15",
  "thumbnailUrl": "https://www.bing.com/th?id=ONUT.example&pid=News",
  "imageWidth": 1024,
  "imageHeight": 576,
  "anonymousViewUrl": "https://browse.startpage.com/anonymous/example"
}
```

### 🧭 Common Recipes

- **Daily media brief:** use `timePeriod="day"` and schedule the actor every morning.
- **Brand reputation tracking:** search a brand plus product, executive, or issue terms.
- **Publisher analysis:** collect 100–250 results and group them by `publisher`.
- **Regional comparison:** repeat the same query across target `region` and `language` values.

### ⚙️ Best Practices

- News indexes change quickly; save run timestamps in your downstream monitoring workflow.
- Publication metadata, summaries, and thumbnails may be absent for some articles.
- Keep queries, region, language, and time filters stable when comparing coverage over time.
- Review source articles before drawing conclusions from snippets alone.

### ⚖️ Legal & Ethical Considerations

- Review Startpage's terms and each publisher's usage policies.
- Respect copyright, quotation limits, and attribution requirements.
- Handle names and other personal information under applicable privacy laws.
- Keep request volumes reasonable and avoid disrupting publishers or search services.
- Verify important claims against the full source article before publishing analysis.

This Actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Startpage or the publishers represented in results**. All trademarks and articles belong to their respective owners.

### ❓ FAQ

**Does the actor scrape the full article text?**

No. It collects the news search result, summary, source, image metadata, and article link.

**Why are some publisher or image fields missing?**

Those fields are conditional and depend on the metadata Startpage returns for each story.

**Can I monitor news automatically?**

Yes. Schedule recurring runs and compare URLs, headlines, publishers, and dates in your preferred storage workflow.

**Which time period should I use?**

Use `day` for fast-moving stories, `week` for a briefing, and `month` or `year` for broader research.

### 🛟 Support

Need another news field, filter, or reporting workflow? Contact the developer at https://igolaizola.com/#contact or https://t.me/igolaizola.

# Actor input Schema

## `queries` (type: `array`):

One or more search queries. Each query is paginated fully before the next one starts.

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

Maximum number of news results to save across all queries.

## `region` (type: `string`):

Region whose news results should be preferred.

## `language` (type: `string`):

Preferred language for search results.

## `safeSearch` (type: `string`):

Level of explicit-content filtering.

## `timePeriod` (type: `string`):

Only return results from the selected recent period.

## Actor input object example

```json
{
  "queries": [
    "sports"
  ],
  "maxItems": 10,
  "region": "all",
  "language": "english",
  "safeSearch": "moderate",
  "timePeriod": "any"
}
```

# 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 = {
    "queries": [
        "sports"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("igolaizola/startpage-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 = {
    "queries": ["sports"],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("igolaizola/startpage-news-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 '{
  "queries": [
    "sports"
  ],
  "maxItems": 10
}' |
apify call igolaizola/startpage-news-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/2Qw2iK0Lg7DAwvrtJ/builds/58juaKX0xpJ0XIaD7/openapi.json
