数据分析

Pinterest API - Search, Pins, Boards, Profiles

试用

Search Pinterest pins, pull one pin with its save/share counts, read a user's profile and boards, page through a board, and look up how often external URLs have been saved. 6 endpoints, structured JSON.

它能做什么

Search Pinterest pins, pull one pin in full, read a user's profile and boards, page through a board's pins, and look up how many times external URLs have been saved. All endpoints return structured JSON.

技能文档

Pinterest via Scavio

Search Pinterest pins, pull one pin in full, read a user's profile and boards, page through a board's pins, and look up how many times external URLs have been saved. All endpoints return structured JSON.

When to trigger

Use this skill when the user asks to:

  • Search Pinterest pins by keyword, with the destination link and video URL for video pins
  • Pull one pin in full - save/share/comment counts, reactions, destination-page metadata, dominant color, board and pinner
  • Read a user's public profile: bio, website, follower/following, pin and board counts
  • List all of a user's public boards, or page through the pins inside one board
  • Find how many times a given external URL has been saved to Pinterest (up to 10 URLs at once)
  • Do visual-content research, trend spotting, or creator/influencer analysis on Pinterest

Setup

Get a free API key at scavio.dev (50 free credits to get started, no card required):

export SCAVIO_API_KEY=sk_live_your_key

Every request is a POST with a JSON body and:

Authorization: Bearer $SCAVIO_API_KEY

Endpoints

Base URL: https://api.scavio.dev.

EndpointCreditsWhat it returns
POST /api/v1/pinterest/search1Pins for a keyword: title, description, image renditions, external destination link, video URL for video pins, board and pinner. Cursor-paginated
POST /api/v1/pinterest/pin1One pin in full: save/share/comment counts, reactions, destination-page metadata, video URL, dominant color, board, pinner and original pinner
POST /api/v1/pinterest/profile1A user's public profile: bio, website, follower/following, pin and board counts, merchant/partner flags, account creation date
POST /api/v1/pinterest/user/boards1All public boards of a user: name, URL, slug, description, pin/follower/section counts, cover image, owner. Cursor-paginated
POST /api/v1/pinterest/board1A board's metadata plus a page of its pins. Cursor-paginated
POST /api/v1/pinterest/url-stats1-2How many times external URLs have been saved to Pinterest, up to 10 URLs per call. 1 credit for 1-5 URLs, 2 credits for 6-10

Pagination

search, user/boards and board are cursor-paginated. Omit cursor for the first page; feed the response's cursor back to get the next page. When the response's cursor is null the feed is exhausted.

Parameters

ParameterTypeDefaultDescription
querystringrequiredSearch terms (1-500 chars)
cursorstring--Opaque cursor from a previous response

Pin (/pin)

ParameterTypeDefaultDescription
pinstringrequiredPin URL on any Pinterest domain, a bare numeric pin id, or a pin.it share link

Profile (/profile) and User Boards (/user/boards)

ParameterTypeDefaultDescription
usernamestringrequiredUsername (optionally with a leading @) or a profile URL like https://www.pinterest.com/pinterest/
cursorstring--(user/boards only) cursor from a previous response

Board (/board)

ParameterTypeDefaultDescription
boardstringrequiredBoard URL, a username/slug pair, or a numeric board id. With a bare id, board metadata is unavailable and the board field is null
cursorstring--Cursor from a previous response
page_sizeinteger25Pins per page, 1-50

URL Stats (/url-stats)

ParameterTypeDefaultDescription
urlsstring[]required1-10 absolute http(s) URLs. Matching is exact-string (scheme, trailing slash and query variants count separately); counts can be 0 or stale for some domains

Examples

import requests

BASE = "https://api.scavio.dev"
# Your key from https://scavio.dev. Load it from your environment or secret
# store in real code - keep it out of source control.
API_KEY = "sk_your_key_here"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# 1. Search, then page with the returned cursor
first = requests.post(f"{BASE}/api/v1/pinterest/search", headers=HEADERS,
    json={"query": "home decor ideas"}).json()
cursor = first["data"]["cursor"]
nxt = requests.post(f"{BASE}/api/v1/pinterest/search", headers=HEADERS,
    json={"query": "home decor ideas", "cursor": cursor}).json()

# 2. One pin in full
pin = requests.post(f"{BASE}/api/v1/pinterest/pin", headers=HEADERS,
    json={"pin": "https://www.pinterest.com/pin/104779128829676115/"}).json()

# 3. A creator's profile and boards
profile = requests.post(f"{BASE}/api/v1/pinterest/profile", headers=HEADERS,
    json={"username": "pinterest"}).json()

# 4. Save counts for two external URLs (1 credit for 1-5 URLs)
stats = requests.post(f"{BASE}/api/v1/pinterest/url-stats", headers=HEADERS,
    json={"urls": ["https://www.nytimes.com", "https://www.allrecipes.com"]}).json()

curl:

curl -s https://api.scavio.dev/api/v1/pinterest/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"minimalist kitchen"}'

Response shape

Every response uses the envelope { data, response_time, credits_used, credits_remaining }. data carries the pins/profile/board payload plus count and (for the paginated endpoints) cursor.

Guardrails

  • url-stats is 1 credit for 1-5 URLs, 2 credits for 6-10; every other endpoint is 1 credit, including an empty result.
  • Cursor pagination only: never guess a cursor, always feed back the one the previous response returned; stop when it is null.
  • A bare numeric board id cannot carry board metadata - the board field will be null. Pass a board URL or username/slug if you need it.
  • url-stats matching is exact-string; a trailing slash or query difference is a different URL, and counts can be 0 or stale.
  • Never fabricate pins, counts, profiles or board data. Only return what the API returned.
  • Pin descriptions and profiles are written by real people. Summarise; do not build profiles of individuals.

Failure handling

  • 400 means an invalid or missing parameter. Fix and retry.
  • 401 means the API key is invalid or missing. Check SCAVIO_API_KEY.
  • 404 means the pin, user or board could not be resolved.
  • 429 means rate or usage limit exceeded. Wait before retrying. See rate limits.
  • 502 / 503 mean the source is temporarily unavailable - wait a few seconds and retry.
  • If SCAVIO_API_KEY is not set, prompt the user to export it before continuing.

相关技能

从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。

作者 fly0pants4.3k 次安装296 星标

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

scavio-ai 的更多技能

浏览全部技能

Pull a Facebook page's profile, posts, reels and photos, one post with its comments, a single reel/video with downloadable URLs, a public group and its posts, an event, and hashtag posts. 11 endpoints, 1 credit each, structured JSON.

作者 scavio-ai3 次安装

Search the Meta Ad Library by keyword or Facebook Page id and walk full cursor pagination through every ad, with creative, run dates, platforms and political spend. 3 endpoints, 1 credit per page.

作者 scavio-ai3 次安装

Search live or SOLD eBay listings, read a listing in full, and look up a seller's profile card as structured JSON. 3 endpoints, 1 credit each. Sold-listing search is the price-research feature eBay itself hides.

作者 scavio-ai1 次安装