---
title: "Poll a SERP capture job"
method: GET
path: "/v1/serp/search/{jobId}"
tags: ["SERP"]
---

# Poll a SERP capture job

`GET /v1/serp/search/{jobId}`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/serp/search/{jobId}`
- Auth: HTTP bearer

Returns the current state of a SERP search job; `result` is present once `status` is `completed`.

## Path parameters

- `jobId` string, required

## Response `200`

Job state

- object
  - `id` string, required
  - `query` string, required
  - `status` 'running' | 'completed' | 'failed', required
  - `createdAt` string, date-time, required
  - `error` string, nullable
  - `result` object, nullable
    - `organic` object[]
      - `rank` integer
      - `title` string
      - `url` string
      - `domain` string
      - `snippet` string
    - `peopleAlsoAsk` string[]
    - `relatedSearches` string[]
    - `featuredSnippet` object, nullable
      - `owner_domain` string
      - `text` string
    - `resolvedUrl` string
    - `fetchedAtMs` integer

## Other responses

- `404`: Resource not found

---

[API](https://skmtc.dev/modelpiper/apis/toolpiper-api.md) · [All operations](https://skmtc.dev/modelpiper/apis/toolpiper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelpiper/apis/toolpiper-api/revisions/6722bf56385c?raw)
