# Startpage Videos Scraper (`igolaizola/startpage-videos-scraper`) Actor

Scrape video SERPs from startpage.com, a privacy-focused alternative to Google Search. Collect URLs, descriptions, thumbnails, durations, views, dates, publishers, channels, and rankings. Export JSON, CSV, or Excel, or access results via API.

- **URL**: https://apify.com/igolaizola/startpage-videos-scraper.md
- **Developed by:** [Iñigo Garcia Olaizola](https://apify.com/igolaizola) (community)
- **Categories:** Videos, 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 Videos Scraper — Video SERPs, Views & Channels

Startpage Videos Scraper extracts video SERPs from startpage.com, a privacy-focused alternative to Google Search. Use it for content discovery, channel research, media monitoring, and video SEO analysis; collect URLs, descriptions, thumbnails, durations, views, dates, publishers, channels, and rankings for export in JSON, CSV, or Excel, or access them via API.

### 🤖 What does Startpage Videos Scraper do?

- **Video discovery** — collect titles, destination URLs, and full descriptions.
- **Performance signals** — capture displayed view counts and publication dates.
- **Media details** — extract thumbnails and durations.
- **Publisher intelligence** — identify the platform and channel behind each video.
- **Ranking context** — preserve overall position, result page, and position within the page.
- **Search targeting** — control region, language, Safe Search, time period, and result count.

**Great for:** video SEO, creator discovery, competitor monitoring, content planning, and media research.

> SEO keywords: **startpage.com video scraper**, **video SERP scraper**, **Google Search alternative**, **video search API alternative**, **YouTube result extractor**, **Apify actor**.

### 💡 Why scrape Startpage videos?

- 🎬 **Find relevant videos** — turn broad topic searches into structured content lists.
- 📈 **Analyze visibility** — compare which channels and publishers rank for target queries.
- 🧭 **Plan content** — study titles, descriptions, durations, and recently published videos.
- 🔔 **Monitor competitors** — schedule recurring searches for a brand, product, or industry.
- 🌍 **Compare audiences** — research video results across regions and languages.

### 🚀 How to use

1. **Add the actor** — open **Startpage Videos Scraper** in Apify Store.
2. **Enter `queries`** — add one or more topics, products, creators, or questions.
3. **Set `maxItems`** — choose the result limit and optional search 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 | Video search keywords. Each query is paginated before the next starts. |
| `maxItems` | Integer | Yes | Maximum video 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`, `de_DE`, or `es_ES`. 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`. |

**Competitor video research**

```json
{
  "queries": ["electric car range test", "EV charging comparison"],
  "maxItems": 100,
  "region": "en_US",
  "language": "english",
  "safeSearch": "moderate",
  "timePeriod": "month"
}
```

**Regional creator discovery**

```json
{
  "queries": ["home energy storage review"],
  "maxItems": 250,
  "region": "de_DE",
  "language": "deutsch",
  "safeSearch": "strict",
  "timePeriod": "year"
}
```

### 📊 Output Results

Each Dataset item can contain:

- **query**, **position**, **page**, **pagePosition** — search and ranking context.
- **title** — video headline.
- **url** — destination video URL.
- **description** — description returned with the video.
- **thumbnailUrl** — preview image URL.
- **duration** — displayed video length.
- **viewCount** — displayed view count.
- **publishDate** — publication date returned by Startpage.
- **publisher** — video platform, such as YouTube.
- **channelTitle** — publisher channel name.
- **anonymousViewUrl** *(conditional)* — Startpage Anonymous View link.

```json
{
  "query": "electric car range test",
  "position": 1,
  "page": 1,
  "pagePosition": 1,
  "title": "Real-World Electric Car Range Test",
  "url": "https://www.youtube.com/watch?v=r_woylnOluw",
  "description": "A highway and city range test with charging and consumption results.",
  "thumbnailUrl": "https://i.ytimg.com/vi/r_woylnOluw/mqdefault.jpg",
  "duration": "22:02",
  "viewCount": "25587",
  "publishDate": "Wed, 15 Jul 2026",
  "publisher": "YouTube",
  "channelTitle": "Everything Electric TECH",
  "anonymousViewUrl": "https://browse.startpage.com/anonymous/example"
}
```

### 🧭 Common Recipes

- **Recent videos only:** use `timePeriod="week"` or `timePeriod="month"`.
- **Creator discovery:** search a niche and group the Dataset by `channelTitle`.
- **Content gap analysis:** compare titles and descriptions across the first 50–100 results.
- **Regional monitoring:** repeat a query using different `region` and `language` values.

### ⚙️ Best Practices

- View counts are returned as displayed text and may change after collection.
- Descriptions can be long; select only the fields you need when exporting reports.
- Keep queries, region, language, and time filters stable for comparable scheduled runs.
- Some videos may not include every optional field or Anonymous View link.

### ⚖️ Legal & Ethical Considerations

- Review Startpage's terms and the destination platform's policies.
- Respect copyright and creator attribution when using titles, thumbnails, or descriptions.
- Keep request volumes reasonable and do not disrupt services.
- Handle personal data under applicable privacy and data-protection laws.
- Use collected information only for lawful research, monitoring, and analysis.

This Actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Startpage or YouTube**. All trademarks and media belong to their respective owners.

### ❓ FAQ

**Does the actor download video files?**

No. It collects video search metadata and links, not the video media itself.

**Are all results from YouTube?**

Current results commonly identify YouTube as the publisher, but availability depends on what Startpage returns.

**Why is `viewCount` a string?**

It preserves the value Startpage displays without assuming a locale-specific number format.

**How do I monitor new videos?**

Use a recent `timePeriod`, schedule recurring runs, and compare URLs or publication dates in your storage workflow.

### 🛟 Support

Need another video field, filter, or export 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 video results to save across all queries.

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

Region whose video 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": [
    "apify"
  ],
  "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": [
        "apify"
    ],
    "maxItems": 10
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/97NE6Ts56rwbPyhc3/builds/AvRmqMupxHt8qz1OG/openapi.json
