---
title: "Check a product Pin"
method: GET
path: "/pinterest/products/validate"
tags: ["Pinterest"]
---

# Check a product Pin

`GET /pinterest/products/validate`

## Request

- Base URL: `https://api.omnisocials.com/v1`
- URL: `https://api.omnisocials.com/v1/pinterest/products/validate`
- Auth: HTTP bearer

Check whether a Pin can be used in `pinterest.product_tags` before you create the post. Pass a Pin ID or a Pin link (`https://www.pinterest.com/pin/<id>/`; `pin.it` short links do not work). Returns `{ valid: true, pin_id, title, link, image_url }` for a product Pin of the connected account, and `{ valid: false, reason }` for a Pin that is not a product Pin, belongs to another account or does not exist. When the check cannot run (no Pinterest account, Pinterest did not answer, or Pinterest did not say if the Pin is a product Pin) it returns `{ valid: false, unverified: true }`: the publish step is then the final check. The check does not look at the claimed-website rule; Pinterest applies that one at publish.

## Query parameters

- `id` string, required

## Response `200`

Check result

- object
  - `valid` boolean
  - `pin_id` string, nullable: The Pin ID read from `id` (`null` when `id` is not a Pin ID or link).
  - `title` string, nullable
  - `link` string, nullable
  - `image_url` string, nullable
  - `unverified` boolean: The check could not run; the publish step will check.
  - `reason` string, nullable: Why the Pin is not valid or could not be checked.

## Changes

- **2026-10-06** `9d50b97cee7a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnisocials/apis/omnisocials-api/changes/pinterest/products/validate/get.md)

---

[API](https://skmtc.dev/omnisocials/apis/omnisocials-api.md) - [All operations](https://skmtc.dev/omnisocials/apis/omnisocials-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnisocials/apis/omnisocials-api/revisions/46e479c09474?raw)
