# Startpage Search API

Startpage API documentation for developers who need Startpage search results in JSON. Scrappa's `GET /api/startpage/search` endpoint returns anonymous Startpage web results with titles, descriptions, URLs, domains, and pagination metadata.

## Startpage API for search results

Use this Startpage API endpoint when you want Startpage results in an API response instead of maintaining your own scraper. It fits SERP monitoring, privacy-first search products, research pipelines, rank tracking, compliance review tools, and automation workflows that need anonymous web search data.

## What you get from the Startpage API

Each response includes ranked organic results with `position`, `title`, `description`, `url`, and `domain`, plus `total_results` and `source`. You can use `language`, `page`, and `safe_search` to request localized or filtered Startpage result sets for privacy-focused search products, SEO analysis, and market research.

## How to call the Startpage Search API

Send a `GET` request to `/api/startpage/search` with a required `query` parameter and your Scrappa API key in the `x-api-key` header. Add `language=english`, `page=0`, and `safe_search=true` when you need reproducible first-page results for monitoring, testing, or customer-facing search features.

## Startpage response fields for developers

Use `position` to preserve ranking order, `title` and `description` for result previews, `url` for destination links, and `domain` for grouping or deduplication. The `source` field identifies the response as `startpage`, which helps when you combine this endpoint with Google Search or other Scrappa search APIs in the same pipeline.

## Empty result sets

Queries with no matching Startpage results return `200` with `data: []`, `total_results: 0`, and a `no_results_message` field. That way an empty result set is a valid answer you can rely on, while fetch problems are still reported as `503` errors with `retryable: true` and are not billed.

## When to use Startpage instead of other search APIs

Choose this endpoint when you need Google-quality results through a privacy proxy and do not want user-level personalization or tracking signals affecting the result set. That makes it useful for neutral SERP monitoring, compliance-sensitive products, and teams comparing multiple search engines from one Scrappa account.

## Implementation and indexing notes

The Startpage Search API is a REST endpoint, so it works with backend jobs, browser-based admin tools, AI agents, and scheduled rank-tracking workflows. For authentication details, see the [API authentication guide](/docs/authentication). To test a request in the browser before writing code, open the [API playground](/docs/playground) or compare usage against the [pay-as-you-go scraping API guide](/post/pay-as-you-go-scraping-api).

## Related search workflow docs

Use [Google Search API](/docs/google-search-api/search) when you need Google web results. For a broader overview of pricing, positioning, and usage, see the [Startpage API overview](/apis/startpage-api).

- **Documentation:** [https://scrappa.co/docs/startpage-api/startpage_search](https://scrappa.co/docs/startpage-api/startpage_search)
- **API group:** Startpage Search API
- **Endpoint:** `GET https://scrappa.co/api/startpage/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes | The search query string. Example: `privacy tips` |
| `language` | string | No | Language filter for search results. Values: `english`, `deutsch`, `french`, `spanish`, `italian`, `portuguese`, `dutch`, `russian`, `chinese`, `japanese`, `arabic`, `all`. Default: `english` |
| `page` | integer | No | Page number for pagination. Range: 0-10. Default: 0 |
| `safe_search` | boolean | No | Safe search filter to exclude adult content. Values: `true`, `false`. Default: `false` |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/startpage/search?query=privacy+tips"
```

## Example response

```json
{
    "data": [
        {
            "position": 1,
            "title": "Privacy Tips - Example",
            "description": "Example search result demonstrating the response format from Startpage.",
            "url": "https://example.com/privacy-tips",
            "domain": "example.com"
        }
    ],
    "people_also_search_for": [],
    "people_also_ask": [],
    "knowledge_graph": null,
    "see_results_about": null,
    "twitter_card": null,
    "total_results": 1,
    "source": "startpage"
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | The request parameters were invalid. | Validation failed for one or more Startpage Search request parameters. |
| 503 | Startpage Search could not be fetched right now. | The upstream request path was temporarily unavailable or exhausted before Scrappa received a parseable Startpage response. |
| 503 | Startpage Search returned a page without result markers. | Scrappa received an upstream Startpage response, but the parser could not find known result markers. |

## Frequently asked questions

### Is there a Startpage Search API for developers?

Startpage does not provide a widely used public developer API for general web search access. Scrappa exposes Startpage search results through a documented API endpoint so you can request structured JSON with an API key.

### What does the Startpage Search API return?

The response returns ranked web search results with `position`, `title`, `description`, `url`, and `domain`, plus top-level fields such as `total_results`, `source`, and optional search enrichments when available.

### Can I filter Startpage results by language or page?

Yes. The endpoint supports `language` and `page` parameters so you can request localized result sets and paginate through Startpage search results. You can also use `safe_search` to control adult-content filtering.

### Why use Scrappa for Startpage search data?

Scrappa handles the request, extraction, and normalization layer for you. That lets you work with Startpage search results as JSON instead of building and maintaining your own scraper, parser, or anti-bot handling.

### How do I authenticate Startpage Search API requests?

Send your Scrappa API key in the `x-api-key` request header. The same key works across Startpage Search, Google Search, and the rest of Scrappa's API endpoints.

### Can I combine Startpage results with other search APIs?

Yes. The response includes a `source` value of `startpage`, so you can store, compare, or merge Startpage results with Google Search API responses in one search pipeline.

### What is the best first request for testing the endpoint?

Start with `/api/startpage/search?query=privacy+tools&language=english&page=0&safe_search=true`. That request exercises the required query field plus the main localization, pagination, and filtering parameters.

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
