---
title: Get SERP Results API
slug: serp-results-classic
url: https://apyhub.com/se-ranking/service/serp-results-classic
provider: "SE Ranking SEO & AI Search API"
categories: [Data Extraction, SEO]
auth: api_key
---

# Get SERP Results API

Retrieve the top 100 search engine results for any keyword in real time. Powered by SE Ranking data for rank tracking and SERP analysis.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks` | What it does Creates one or more SERP Classic tasks based on the search queries submitted in the re… | 500 |
| GET | `https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks` | What it does Lists SERP Classic tasks, or retrieves a specific task's result when a taskid is provi… | 250 |
| GET | `https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks/html` | What it does Retrieves the raw HTML dump for a SERP Classic task, identified by its taskid query pa… | 250 |
| GET | `https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks/results_advanced` | What it does Retrieves the advanced (detailed) results for a completed SERP Classic task, using the… | 500 |
| GET | `https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/locations` | What it does Looks up SERP Classic-supported search locations, filterable by a free-text query, an… | 250 |

## Examples

### Add task

#### Quickstart
Create a new classic SERP task with a minimal JSON body and your API key in the query string.
```bash
curl -X POST "https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks" \
  -H "Content-Type: application/json" \
  -H "apy-token: $APY_TOKEN" \
  -d '{
    "query": ["seo report"],
    "device": "desktop",
    "location_id": 12998,
    "language_code": "es",
    "search_engine": "google"
  }'
```
#### What you'll get back
Returns an array of task objects, one per query submitted, each with an `id` you can use to poll for status/results. See the Docs tab for the full response shape.

### List tasks / Get task results

#### Quickstart
Fetch a SERP classic task by its ID using your API key in the query string.
```bash
curl -X GET "https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks?task_id=176899957" \
  -H "apy-token: $APY_TOKEN"
```
#### What you'll get back
Returns a status object while the task is still processing (e.g. `{"status": "processing"}`). Once the task completes, a fuller result payload is expected — see the Docs tab, pending confirmation.

### Get HTML dump

#### Quickstart
Fetch a SERP classic task's HTML result by its `task_id` query parameter.
```bash
curl -X GET "https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks/html?task_id=123456" \
  -H "apy-token: $APY_TOKEN"
```
#### What you'll get back
Expected to return the raw HTML content for the task

### Get advanced results

#### Quickstart
Fetch the advanced results for a classic SERP task by passing its `task_id` as a query parameter.
```bash
curl -X GET "https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/tasks/results_advanced?task_id=123456" \
  -H "apy-token: $APY_TOKEN"
```
#### What you'll get back
Returns a single object containing `request_metadata`, a `summary`, and an `items` array with the full ranked SERP content (AI overview, organic results, people-also-ask, related searches, etc.).

### Get locations

#### Quickstart
Fetch the SERP classic locations for a query, with optional filters passed as query parameters.
```bash
curl -X GET "https://api.eu.apyhub.com/se-ranking/serp-results-classic/v1/serp/classic/locations?q=new%20york&include=all&country_code=us" \
  -H "apy-token: $APY_TOKEN"
```
#### What you'll get back
Expected to return a list of matching locations

## About

## What it does
SERP Results Classic lets you submit search-result tasks, retrieve task status and results, and fetch the raw HTML dump for a completed task. It also includes a location lookup endpoint for resolving supported search locations.

Send a task with an API key and a request body that can include `tag`, `query`, `device`, `location_id`, `pingback_url`, `language_code`, and `search_engine`. The task endpoints let you create a job, then poll by `task_id` to get the result or an advanced result payload when you need deeper SERP data. If you need the original page source for analysis or debugging, use the HTML dump endpoint with the same `task_id`.

Use SERP Results Classic when you need programmatic search engine data for rank tracking, keyword research, competitor monitoring, or QA on location-sensitive search queries. The locations endpoint accepts `q`, `include`, and `country_code` so you can narrow down supported search locations before submitting a task.

This service is a fit when your workflow depends on Google-style search results and you want to automate collection, webhook delivery via `pingback_url`, and post-processing from a task-based API.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/se-ranking/service/serp-results-classic
