Pinterest API: Search pins
Finds Pinterest pins for an idea in search order, with image, creator, board, saves and linked website. Limited to the first public search page.
Unofficial. Not affiliated with or endorsed by Pinterest.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Query, required
query Idea to search for, for example small kitchen ideas.
crochet amigurumi pattern
- Max Results optional
max_results Most pins to return from the first page, for example 25.
50
Whole number from 1 to 50. Default
25.
Input as JSON
{ "query": "crochet amigurumi pattern", "max_results": 50}Output
{ "pins": [ { "saves": null, "title": "Floppy Bunny Amigurumi | Easy Crochet Bunny Pattern", "pin_id": "e1_AfqPShyeKOJnq0rCYucf0uJeuyD3upS_sfucFHvJPTQmJU1-Fw9tJg", "website": null, "pin_link": "https://www.pinterest.com/pin/e1_AfqPShyeKOJnq0rCYucf0uJeuyD3upS_sfucFHvJPTQmJU1-Fw9tJg/" , "board_name": "Free Crochet Patterns & Ideas", "image_link": "https://i.pinimg.com/originals/c8/49/43/c84943b98b36678de52a2a9c78f9224c.png" , "description": "Crochet an adorable floppy bunny amigurumi with this easy crochet bunny pattern. Perfect for makers who love cute crochet animals, bunny amigurumi patterns, beginner crochet projects, and soft crochet plushies. The long floppy ears and cuddly shape make this a sweet handmade project or gift idea. Cl…", "website_domain": null, "pinner_username": "yarnessa01" }, { "saves": null, "title": "Free Strawberry Dragon Beginner Crochet Pattern Amigurumi Fantasy", "pin_id": "e1_AfqPShxnbZT4pqJy5F3RcvJrTI7WdZV-0TLB71A-oxOmUZAEN6Yaww", "website": null, "pin_link": "https://www.pinterest.com/pin/e1_AfqPShxnbZT4pqJy5F3RcvJrTI7WdZV-0TLB71A-oxOmUZAEN6Yaww/" , "board_name": "Crochet Ideas", "image_link": "https://i.pinimg.com/originals/c2/db/9a/c2db9a55fe77ff442b849145b0de86a3.png" , "description": "Combine cute fruit aesthetics with fantasy! This Strawberry Dragon crochet guide covers every step from the strawberry-seeded body and snout to green leaf crown and dragon wings. Perfect project for plushie lovers and amigurumi creators. #StrawberryDragon #AmigurumiDragon #CrochetPlushie #FreeCroc…", "website_domain": null, "pinner_username": "crochettiideas" }, { "saves": null, "title": null, "pin_id": "e1_AfqPShzEzwfdhajWBWEbRgthWlfhYmVs5psiUtZa1713ZMzvex4", "website": null, "pin_link": "https://www.pinterest.com/pin/e1_AfqPShzEzwfdhajWBWEbRgthWlfhYmVs5psiUtZa1713ZMzvex4/" , "board_name": "crochet/knitting" , "image_link": "https://i.pinimg.com/originals/d2/06/f4/d206f417ae5a6b16cd9025182752cc1e.jpg" , "description": null, "website_domain": null, "pinner_username": "linzyjm" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"pinterest.com/search_pins","input":{"query":"crochet amigurumi pattern","max_results":50}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "pinterest.com/search_pins" , "input": { "query": "crochet amigurumi pattern", "max_results": 50 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "pinterest.com/search_pins" , "input": { "query": "crochet amigurumi pattern", "max_results": 50 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run pinterest.com/search_pins# with {"query":"crochet amigurumi pattern","max_results":50}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "query": { "type": "string", "minLength": 1, "description": "Idea to search for, for example small kitchen ideas." }, "max_results": { "type": "integer", "default": 25, "maximum": 50, "minimum": 1, "description": "Most pins to return from the first page, for example 25." } }}Output schema
{ "type": "object", "required": [ "pins" ], "properties": { "pins": { "type": "array", "items": { "type": "object", "required": [ "title", "description", "image_link", "saves", "pinner_username", "board_name", "website", "website_domain", "pin_link", "pin_id" ], "properties": { "saves": { "type": [ "integer", "null" ] }, "title": { "type": [ "string", "null" ] }, "pin_id": { "type": "string" }, "website": { "type": [ "string", "null" ] }, "pin_link": { "type": "string" }, "board_name": { "type": [ "string", "null" ] }, "image_link": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "website_domain": { "type": [ "string", "null" ] }, "pinner_username": { "type": [ "string", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
pinterest.com/search_pins- Returns
- title, description, image link, saves, pinner username, board name, website, website domain, pin link, pin id
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method pinterest.com/search_pins with the inputs above.
Ask your agent
- Find me pins for boho bedroom decor ideas, about 20 of them, with the image and how many saves each has
- Search Pinterest for 'easy weeknight vegetarian dinners' and give me the top 10 results with the linked recipe websites
- I need inspiration for a small balcony garden — pull up the first 30 pins, including who pinned them and which board they're on
- What are people saving for 'fall nail art 2024'? Show me up to 50 pins with their save counts and pin links
- Look up Pinterest results for minimalist wedding invitations and list the source domains and creators for the first 15 pins
See more
All Pinterest methodsGets a public Pinterest profile and its visible boards in profile order. Monthly views are null when Pinterest does not show them.
pinterest.com/get_profileSearches PyPI by keywords and returns matching packages in relevance order, each with its latest version and that version's release date. Returns up to 100 results.
pypi.org/search_packagesSearch free stock photos on Pexels by subject, orientation, and page. Returns up to 80 photos in search order; Pexels may broaden searches with few exact matches.
pexels.com/search_photosFinds free-to-use Wikimedia Commons images for a topic in Commons relevance order. Each image comes with its links, creator and licence details.
commons.wikimedia.org/search_free_imagesSearches Bing and returns web results in the order shown, with snippets, answer-box text when available, and related searches.
bing.com/search_webFinds Unsplash photos matching a search phrase, in search order, optionally by shape; excludes Unsplash+ photos unless included. Each result has image links, photographer, licence and photo page.
unsplash.com/search_photosFinds Product Hunt products by name or by what they do, in Product Hunt search order, with tagline, review rating, review count, followers and topics. Ratings are null for products without reviews.
producthunt.com/search_productsFinds Chrome Web Store extensions by keywords in store order, with each listing's developer, users, rating, rating count, short description and store link. Some listings omit developer, users or ratings.
chromewebstore.google.com/search_extensions