---
title: "Search Pinterest pins"
method: GET
path: "/v1/pinterest/search"
tags: ["Pinterest"]
---

# Search Pinterest pins

`GET /v1/pinterest/search`

## Request

- Base URL: `https://api.scrapeatlas.com`
- URL: `https://api.scrapeatlas.com/v1/pinterest/search`
- Auth: API key in header `x-api-key`

Discover public pins for a keyword. Retrieves one page with a requested page size of 25; Pinterest controls the actual result count and ranking. Pass cursor to continue. Full records retain available image, destination, board, author, counter and media fields. Trimmed pins contain id, url, description, created_at, pinner and images when supplied. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `query` string, required
- `cursor` string
- `trim` 'true' | 'false'
- `since` union
  - number
  - string
- `until` union
  - number
  - string

## Response `200`

Inspect the response status and failure or coverage fields.

- union
  - object
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `requestId` string, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_resource' | 'public_page' | 'public_graphql' | 'public_widget', required
      - `complete` boolean, required
      - `warnings` string[], required
      - `order` 'newest_first' | 'oldest_first' | 'ranked' | 'relevance' | 'source_order', required
      - `window` object
        - `since` string, date-time
        - `until` string, date-time
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `pins` object[], required
      - `id` string, required
      - `description` string, nullable, required
      - `images` object, required
      - `pinner` object, nullable, required
    - `cursor` string, nullable, required
  - object
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `requestId` string, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'restricted_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'payload_too_complex' | 'busy', required
      - `message` string, required

## Other responses

- `400`: Request could not complete; inspect error or failure.code.
- `401`: Request could not complete; inspect error or failure.code.
- `402`: Request could not complete; inspect error or failure.code.
- `403`: Request could not complete; inspect error or failure.code.
- `404`: Request could not complete; inspect error or failure.code.
- `408`: Request could not complete; inspect error or failure.code.
- `413`: Request could not complete; inspect error or failure.code.
- `429`: Request could not complete; inspect error or failure.code.
- `500`: Request could not complete; inspect error or failure.code.
- `502`: Request could not complete; inspect error or failure.code.
- `503`: Request could not complete; inspect error or failure.code.
- `504`: Request could not complete; inspect error or failure.code.

---

[API](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api.md) · [All operations](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/revisions/9ba049316894?raw)
