Pinterest API skill
Read public Pinterest data as clean JSON. This Pinterest API skill returns a pin by URL, searches pins by keyword, and — the genuinely useful one — reports how many times any URL has been saved to Pinterest. That last endpoint costs 1 credit and is a real distribution signal for a page you publish.
This skill wraps 3 live Pinterest endpoints from the ScraperSocial API. Public data only, returned as clean JSON.
When to use this skill
- You want to know how much traction one of your URLs has on Pinterest.
- You are researching visual trends or how a product is being pinned.
- A user pastes a pin link and wants its details.
Do not use this skill when
- You need to create pins or boards. Read-only; Pinterest's own API handles writes.
- You need board-level or account analytics. Only pins, search and URL save counts are covered.
Setup
export SCRAPERSOCIAL_KEY=sk_live_... # https://scrapersocial.com/app/keys
Signing up at scrapersocial.com/signup includes 100 free credits, no card required.
Permissions and scope
These scripts do exactly three things and nothing else: read one environment variable (SCRAPERSOCIAL_KEY), send HTTPS requests to https://api.scrapersocial.com (the host is a constant in the code, not configurable), and print JSON. They run as node scripts/<name>.js with no other shell use, no file writes and no persistence. call_endpoint.js accepts only the 3 documented /v1/pinterest/ paths in the table below and refuses anything else before a request is made.
Scripts
| Script | What it does | Input | Credits |
|---|---|---|---|
get_pin.js |
Get Pinterest pin. | url | 2 credits |
search.js |
List Pinterest search. | query | 2 credits per pin |
get_url_stats.js |
Get Pinterest url stats. | url | 1 credit |
call_endpoint.js |
Call any /v1/pinterest/ endpoint directly |
path + params | varies |
Every script also accepts --limit, --cursor, --fields, --format and --fresh. --limit is clamped to 50: above that the API returns an async job instead of data.
Example
node skills/pinterest-api/scripts/search.js "small kitchen renovation"
Every response uses the same envelope:
{ "data": {}, "meta": { "count": 20, "next_cursor": "..." }, "request_id": "a18e4ef88ad4b00b" }
meta appears on paginated endpoints only. Keep request_id — support traces calls with it.
Endpoints
| Endpoint | Input | Returns | Credits | Paginated |
|---|---|---|---|---|
/v1/pinterest/pin |
url | pin | 2 credits | no |
/v1/pinterest/search |
query | pin | 2 credits per pin | yes |
/v1/pinterest/url-stats |
url | url | 1 credit | no |
Costs shown per item for paginated endpoints, per call otherwise. Failed calls are not charged.
FAQ
How do I check how often a URL was saved to Pinterest?
get_url_stats.js with the URL returns its save count for 1 credit. It works for any URL, not just ones you own.
How do I search Pinterest?
search.js with a query, 2 credits per pin returned.
Is this an official Pinterest API?
No. ScraperSocial is independent and not affiliated with Pinterest. It returns publicly available data only.
Links
Disclaimer
ScraperSocial is an independent product and is not affiliated with, endorsed by, or sponsored by any platform named in this repository. All product names, logos and brands are property of their respective owners. These skills return only publicly available data.
