Pinterest Search API reference
Your first 10 calls are free, no card needed. Pricing and FAQ
Get a free API keycurl "https://api.insightsocial.app/v1/pinterest/search?query=home%20decor%20ideas" \ -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
Step-by-step: Get Pinterest save counts for any URL · Get Pinterest Trends for a country · Brand mention monitoring
Returns Pinterest pins matching a keyword, each with its text, original image, pinner and pin date; include=engagement adds save, reaction, comment and share counts.
Use it to discover pins on a topic; add include=engagement for each pin's saves, or call pin when you already have one pin URL.
Metered: 10–260 credits. We reserve the ceiling when the call starts and charge what it actually used when it finishes.
Paginates by cursor: see Pagination.
Authorization
apiKey Your key from the dashboard. It starts with isk_.
In: header
Query Parameters
Keyword or phrase to search Pinterest pins for.
Cursor to get the next page. Take it from pagination.next_cursor on the previous response.
Set to true for a lighter record with fewer fields.
Set to engagement (one token only) to fill post.engagement.saves, .likes (reactions), .comments and .shares on every row in this one call.
Value in
- "engagement"
Take the top N rows of the page (1 to 25) after the search has run. It is not a page size: next_cursor still advances past the full page, so rows beyond N on this page are not returned by the next page.
1 <= value <= 25Only rows published on or after this date: YYYY-MM-DD (midnight UTC) or an ISO 8601 timestamp. Rows older than it are left off each page. This list is not in date order, so the walk does not stop at the date: keep following next_cursor, and each page costs what a page costs even when every row on it is filtered out. A row with no date is kept.
Only rows published on or before this date: YYYY-MM-DD (that whole UTC day is included) or an ISO 8601 timestamp. Newer rows are left off each page and the walk does not stop, so older pages follow. A row with no date is kept.
Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.
Value in
- "1"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.insightsocial.app/v1/pinterest/search?query=string"{ "success": true, "platform": "string", "endpoint": "string", "schema_version": "2", "pagination": { "next_cursor": "string", "has_more": true, "page_size": 0, "stopped_at": "since" }, "unavailable": [ "string" ], "credits_used": 0, "credits_remaining": 0, "request_id": "string", "cached": true, "idempotent_replay": true, "charge_reason": "string", "free_call": true, "data": { "items": [ { "post": { "id": "string", "url": "http://example.com", "kind": "string", "content": { "text": "string", "media_urls": [ "http://example.com" ], "thumbnail_url": "http://example.com", "duration_seconds": 0 }, "author": { "id": "string", "username": "string", "display_name": "string", "avatar_url": "http://example.com", "verified": true }, "engagement": { "views": 0, "likes": 0, "comments": 0, "shares": 0, "saves": 0 }, "flags": { "nsfw": true, "spoiler": true, "pinned": true, "deleted": true, "likes_hidden": true, "comments_hidden": true, "shares_hidden": true, "views_hidden": true, "saves_hidden": true }, "published_at": "2019-08-24T14:15:22Z", "language": "string", "ext": { "property1": null, "property2": null } } } ], "total": 0, "truncated": true, "ext": { "property1": null, "property2": null } }}