Startpage SERP Scraper – Organic Search API avatar

Startpage SERP Scraper – Organic Search API

Pricing

from $0.45 / 1,000 organic startpage results

Go to Apify Store
Startpage SERP Scraper – Organic Search API

Startpage SERP Scraper – Organic Search API

Scrape Startpage organic search results for up to 1,000 queries. Collect rankings, titles, URLs, domains, snippets, localization, Safe Search, date filters, and pagination. Export clean SERP data as JSON, CSV, or Excel, use the Apify API, or schedule recurring SEO and competitor monitoring.

Pricing

from $0.45 / 1,000 organic startpage results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Turn Startpage searches into structured organic SERP data without manually copying result pages. Enter one or more queries and receive ranked titles, URLs, domains, snippets, localization settings, and timestamps in an export-ready Dataset.

What this Actor does

Startpage SERP Scraper collects organic web results for SEO research, rank tracking, competitor monitoring, and search visibility analysis. It supports pagination, regional markets, result languages, Safe Search, date filters, duplicate-query normalization, and resumable runs.

Each successful Dataset row represents one unique organic result. Operational summaries and per-query statuses remain separate from customer result rows, making the Dataset ready for analysis or downstream processing.

Use cases

  • Track organic keyword positions for brands, products, and topics.
  • Compare localized result ordering across countries and languages.
  • Discover relevant pages and competing domains.
  • Build clean URL lists for enrichment or content research.
  • Compare Startpage visibility with other search engines.

How to use

  1. Open the Actor in Apify Console.
  2. Add at least one value to Search queries and adjust the result or localization options if needed.
  3. Click Start and open the Dataset when the run finishes.

Input

FieldTypeDefaultDescription
queriesarray of stringsrequiredOne to 1,000 queries. Blank values are rejected, internal whitespace is normalized, and duplicates are removed case-insensitively.
maxResultsPerQueryinteger20Maximum unique organic results delivered per query, from 1 to 100.
maxPagesPerQueryinteger2Maximum result pages requested per query, from 1 to 10.
regionstringen_USRegional market, such as en_US, es_ES, or de_DE. Select all for no country-specific region.
languagestringenglishResult language, such as english, espanol, or deutsch.
safeSearchstringmoderateAccepts off, moderate, or strict.
timeRangestringanyAccepts any, day, week, month, or year.

Each query can contain up to 500 characters. The complete region and language choices are available in the Actor input form.

{
"queries": [
"Apify web scraping"
],
"maxResultsPerQuery": 3,
"maxPagesPerQuery": 1,
"region": "en_US",
"language": "english",
"safeSearch": "moderate",
"timeRange": "any"
}

Output

Results are stored in the default Dataset and can be exported as JSON, JSONL, CSV, Excel, XML, or RSS. One item represents one unique organic result for one query.

This is the complete Dataset item from a real successful run:

{
"type": "organicResult",
"query": "Apify web scraping",
"queryId": "0577f6b27431c332d8eb7b4e",
"region": "en_US",
"language": "english",
"safeSearch": "moderate",
"timeRange": "any",
"pagesFetched": 1,
"organicResultsFound": 3,
"paginationStoppedReason": "max_results",
"fetchedAt": "2026-08-30T19:39:26.075450+00:00",
"resultId": "5a832fbfaab16fdceb20392c6987c209",
"page": 1,
"pagePosition": 1,
"position": 1,
"title": "Apify: The largest marketplace of trusted tools for AI",
"url": "https://apify.com/",
"domain": "apify.com",
"displayUrl": "apify.com",
"description": "65,449 tools for your AI ... Apify is the largest marketplace of trusted tools for AI. Get real-time web data, track competitors, generate leads, monitor social ..."
}

The default Key-Value Store also contains:

  • SUMMARY: aggregate query, page, retry, challenge, delivery, and charged-result counters.
  • QUERY_STATUSES: one status record per processed query, including empty and failed queries.
  • RUN_STATE: the checkpoint used to resume an interrupted run with the same input.

Pricing

The Actor uses pay-per-event pricing. Each unique organic result delivered to the default Dataset triggers one organic-result charge; the actual billing unit remains one delivered result.

Apify plan tierPrice per organic resultEquivalent per 1,000 organic results
Free$0.0006$0.60
Bronze$0.00055$0.55
Silver$0.0005$0.50
Gold$0.00045$0.45
Platinum$0.00045$0.45
Diamond$0.00045$0.45

Empty or failed queries, duplicate results, SUMMARY, QUERY_STATUSES, and RUN_STATE do not trigger an organic-result charge. If a maximum total charge is configured, the Actor stops delivering new results when the remaining limit cannot cover another result. The Actor's Pricing tab is the source of truth for active prices.

ActorBest for
Google SERP Scraper API – Search Results ScraperGoogle organic search monitoring and result collection.
Brave Search Scraper – Organic SERP ResultsPrivacy-focused Brave Search organic results.
Bing Search Scraper – SERP ResultsBing search result collection and comparison.
DuckDuckGo Search Scraper — Organic SERP APIDuckDuckGo organic results for privacy-focused research.
Yahoo Search Results ScraperYahoo Search result collection.

Limits and data quality

  • The Actor returns organic web results. It does not return ads, shopping panels, maps, news carousels, or AI-generated answers.
  • Results can vary by time, region, language, Safe Search settings, filters, and Startpage availability.
  • A query can legitimately return no results. Check QUERY_STATUSES to distinguish an empty result set from a failed request.
  • The Actor stops at the requested result limit, page limit, end of pagination, or a page containing no new results.
  • Destination URLs are deduplicated within each query. Stable result IDs prevent duplicate delivery after a resumed run.
  • Retries can recover temporary request failures. A query that still fails keeps its status in QUERY_STATUSES without creating a result charge.

Frequently asked questions

Can I search several queries in one run?

Yes. Add up to 1,000 values to queries. Each normalized query receives its own result positions and status record.

Can I request results for a specific country?

Yes. Select a supported regional market in region, such as en_US, es_ES, or de_DE, together with the desired result language.

Why did I receive fewer results than requested?

Startpage may expose fewer unique organic results, a filter may narrow the result set, or pagination may end before the configured maximum. paginationStoppedReason records why collection stopped.

How do I inspect failed or empty queries?

Open QUERY_STATUSES in the run's default Key-Value Store. It contains the status, result count, pages fetched, retry count, and a sanitized error when applicable.

Responsible use

Use this Actor only for lawful purposes and in accordance with applicable terms, privacy requirements, and data-protection rules. Users are responsible for how they collect, store, and use the resulting data.

Support

Open an issue in the Actor's Issues tab and include the run ID, sanitized input, affected query, and relevant QUERY_STATUSES entry. Do not include access tokens or other secrets.