Pinterest Profile Pins Scraper
Pricing
from $1.00 / 1,000 results
Pinterest Profile Pins Scraper
Collect public pins from the Created tab of Pinterest profiles. Export publication text, media links, authors, boards and available counts with pagination.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collect public pins from a Pinterest profile’s Created tab and export one pin per row. Pinterest Profile Pins Scraper returns descriptions, publication dates when available, images, video references, source websites and creator context.
Use known brands or creators to prepare content inventories and compare the publications Pinterest exposes on their Created tabs. Choose a page budget for each profile and keep the source account attached to every result.
| At a glance | Details |
|---|---|
| 📥 Input | Enter Pinterest usernames, canonical profile URLs or /username/_created/ URLs. Collects Created pins; saved boards are a separate source. |
| 📤 Output | One pin per success row with the input source retained |
| 📄 Pagination | Result pages per input; page sizes and availability are controlled by Pinterest |
| 🔐 Login required | No |
| ⚡ Processing | Up to 5 HTTP requests concurrently; up to 5 attempts for temporary failures |
| 💾 Delivery | One Apify dataset view with individual records and complete nested JSON |
What the Pinterest profile pins scraper collects 📝
The Actor resolves each profile and follows its public Created feed. It collects published content from that tab; saved boards and saved pin collections are separate workflows.
Data can include:
- Published pin identifiers, links, titles and descriptions
- Available publication dates, images and video metadata
- Outgoing links and source domains
- Creator, board and input-profile context
- Visible counters and optional fields present in the Created feed
How to collect profile Created pins from Pinterest 🚀
- Enter one or more supported inputs.
- Set the page budget and any collection option you need.
- Start the Actor.
- Open the Pins dataset view and review success or failed rows.
- Export the dataset or retrieve records from your application.
{"inputList": ["fitnessmagazine"],"pagesPerProfile": 1}
The page setting counts Created-feed pages separately for each profile. Pinterest controls page sizes, ordering and availability. Short pages can still contain a valid next cursor.
Pinterest profile Created pins output fields 📦
| Field | Type | Meaning |
|---|---|---|
input | string | Original submitted input. |
status | string | Whether this entity was successfully collected. |
page | integer or null | One-based page within this input's collection. |
mode | string or null | Search mode, or created for profile Created-tab pins. |
source_profile | object or null | Profile requested as the source; it can differ from an item's author or owner. |
id | string or null | Id when supplied by Pinterest. |
url | string or null | Url when supplied by Pinterest. |
title | string or null | Title when supplied by Pinterest. |
description | string or null | Description when supplied by Pinterest. |
created_at | string or null | Created at when supplied by Pinterest. |
link | string or null | Link when supplied by Pinterest. |
domain | string or null | Domain when supplied by Pinterest. |
alt_text | string or null | Alt text when supplied by Pinterest. |
auto_alt_text | string or null | Auto alt text when supplied by Pinterest. |
seo_title | string or null | Seo title when supplied by Pinterest. |
seo_description | string or null | Seo description when supplied by Pinterest. |
seo_alt_text | string or null | Seo alt text when supplied by Pinterest. |
dominant_color | string or null | Dominant color when supplied by Pinterest. |
image_url | string or null | Image url when supplied by Pinterest. |
images | array or null | Available image variants, preserved in one dataset cell. |
videos | array or null | Available video variants with duration in milliseconds, preserved in one dataset cell. |
has_video | boolean or null | Whether video variants were present in this response. |
is_video_raw | boolean or null | Raw Pinterest is_video flag; video variants can exist when it is false. |
is_repin | boolean or null | Is repin when supplied by Pinterest. |
is_promoted | boolean or null | Is promoted when supplied by Pinterest. |
repin_count | integer or null | Repin count reported for this pin; separate from aggregate saves. |
comment_count | integer or null | Comment count reported for this individual pin. |
favorite_user_count | integer or null | Favorite user count when supplied by Pinterest. |
share_count | integer or null | Share count when supplied by Pinterest. |
comments_disabled | boolean or null | Comments disabled when supplied by Pinterest. |
aggregated_pin_id | string or null | Pinterest aggregate ID shared by related copies of the pin. |
aggregated_comment_count | integer or null | Comment count reported for the aggregated pin. |
aggregated_save_count | integer or null | Save count reported for the aggregated pin. |
aggregated_done_count | integer or null | Tried-it count reported for the aggregated pin. |
reactions | array or null | Reactions when supplied by Pinterest. |
author | object or null | Author when supplied by Pinterest. |
board | object or null | Board when supplied by Pinterest. |
section | object or null | Section when supplied by Pinterest. |
product | object or null | Product fields when product metadata exists. Raw zero prices do not establish a free product. |
Nested field structure:
source_profile:id,username,name,url,image_url,image_large_url,is_verified,is_verified_merchant,is_private,follower_count.images[]:variant,url,width,height,dominant_color.videos[]:variant,url,width,height,duration_ms,thumbnail_url.reactions[]:type,count.author:id,username,name,url,image_url,image_large_url,is_verified,is_verified_merchant,is_private,follower_count.board:id,url,name,description,pin_count,follower_count,section_count,sectionless_pin_count,collaborator_count,is_collaborative,privacy,category,cover_image_url,cover_image_hd_url,last_modified_at,owner,images.board.owner:id,username,name,url,image_url,image_large_url,is_verified,is_verified_merchant,is_private,follower_count.board.images[]:variant,url,width,height,dominant_color.section:id,title,slug,description,pin_count,url.product:metadata_id,price_value_raw,price_currency,availability,is_out_of_stock,is_stale.
The examples below use normalized public response data. Values are snapshots and may change; every top-level output field is included. Different media variants and nested objects remain inside the same row.
Complete representative success result:
{"input": "fitnessmagazine","status": "success","page": 1,"mode": "created","source_profile": {"id": "241224261199462628","username": "fitnessmagazine","name": "FITNESS","url": "https://www.pinterest.com/fitnessmagazine/","image_url": null,"image_large_url": "https://i.pinimg.com/140x140_RS/17/73/07/177307635813c4492e6a44482875bcfd.jpg","is_verified": true,"is_verified_merchant": false,"is_private": null,"follower_count": null},"id": "117656608997785551","url": "https://www.pinterest.com/pin/117656608997785551/","title": "","description": "Get more out of every rep and workout by trading these ineffective (and crazy common!) exercises for our superior time-saving alternatives.","created_at": "2017-08-03T03:30:01Z","link": "https://www.fitnessmagazine.com/workout/lose-weight/build-strength/exercises-tips/?utm_source=pinterest&utm_medium=social&utm_campaign=fit_1012381409_editorialcontent","domain": "fitnessmagazine.com","alt_text": null,"auto_alt_text": "a woman in a black sports bra top is holding her hands up to her head","seo_title": "The Hardest Workout in New York | Fitness Photoshoot | Fatburner workout, Sixpack training, Oberschenkelmuskulatur","seo_description": null,"seo_alt_text": null,"dominant_color": "#5b616b","image_url": "https://i.pinimg.com/originals/6c/6a/54/6c6a54578eebb5edc18cd496cfbb2872.jpg","images": [{"variant": "170x","url": "https://i.pinimg.com/236x/6c/6a/54/6c6a54578eebb5edc18cd496cfbb2872.jpg","width": 236,"height": 236,"dominant_color": null},{"variant": "136x136","url": "https://i.pinimg.com/136x136/6c/6a/54/6c6a54578eebb5edc18cd496cfbb2872.jpg","width": 136,"height": 136,"dominant_color": null},{"variant": "474x","url": "https://i.pinimg.com/474x/6c/6a/54/6c6a54578eebb5edc18cd496cfbb2872.jpg","width": 474,"height": 474,"dominant_color": null},{"variant": "736x","url": "https://i.pinimg.com/736x/6c/6a/54/6c6a54578eebb5edc18cd496cfbb2872.jpg","width": 525,"height": 525,"dominant_color": null},{"variant": "orig","url": "https://i.pinimg.com/originals/6c/6a/54/6c6a54578eebb5edc18cd496cfbb2872.jpg","width": 525,"height": 525,"dominant_color": null}],"videos": [],"has_video": false,"is_video_raw": false,"is_repin": false,"is_promoted": false,"repin_count": 657,"comment_count": 9,"favorite_user_count": null,"share_count": null,"comments_disabled": null,"aggregated_pin_id": "4915212282346093232","aggregated_comment_count": null,"aggregated_save_count": 666,"aggregated_done_count": 12,"reactions": [{"type": "1","count": 6}],"author": {"id": "241224261199462628","username": "fitnessmagazine","name": "FITNESS","url": "https://www.pinterest.com/fitnessmagazine/","image_url": null,"image_large_url": "https://i.pinimg.com/140x140_RS/17/73/07/177307635813c4492e6a44482875bcfd.jpg","is_verified": true,"is_verified_merchant": false,"is_private": null,"follower_count": null},"board": {"id": "117656677704211309","url": "https://www.pinterest.com/shapemagazine/cardio-workouts/","name": "Cardio Workouts","description": null,"pin_count": null,"follower_count": null,"section_count": null,"sectionless_pin_count": null,"collaborator_count": null,"is_collaborative": true,"privacy": "public","category": null,"cover_image_url": null,"cover_image_hd_url": null,"last_modified_at": null,"owner": {"id": "117656746423485278","username": "shapemagazine","name": "SHAPE","url": "https://www.pinterest.com/shapemagazine/","image_url": null,"image_large_url": "https://i.pinimg.com/140x140_RS/a2/32/8b/a2328b15a50bd4494a254487bdcc2cad.jpg","is_verified": true,"is_verified_merchant": false,"is_private": null,"follower_count": null},"images": []},"section": null,"product": null}
Complete failed dataset item:
{"input": "invalid input","status": "failed","page": null,"mode": null,"source_profile": null,"id": null,"url": null,"title": null,"description": null,"created_at": null,"link": null,"domain": null,"alt_text": null,"auto_alt_text": null,"seo_title": null,"seo_description": null,"seo_alt_text": null,"dominant_color": null,"image_url": null,"images": null,"videos": null,"has_video": null,"is_video_raw": null,"is_repin": null,"is_promoted": null,"repin_count": null,"comment_count": null,"favorite_user_count": null,"share_count": null,"comments_disabled": null,"aggregated_pin_id": null,"aggregated_comment_count": null,"aggregated_save_count": null,"aggregated_done_count": null,"reactions": null,"author": null,"board": null,"section": null,"product": null}
A failed row preserves input, sets status to failed, and sets every other top-level field to null. The reason is written to the run log. Optional successful values remain null or empty when Pinterest omits them. The single dataset view exposes object fields as useful columns; arrays are kept in their parent row rather than expanded into additional rows or views.
Input and pagination settings ⚙️
| Parameter | Type | Required | Default | Rules |
|---|---|---|---|---|
inputList | array of strings | Yes | None | Enter Pinterest usernames, canonical profile URLs or /username/_created/ URLs. Collects Created pins; saved boards are a separate source. |
pagesPerProfile | integer | No | 1 | Maximum result pages per input. Website page sizes vary; short pages can still have a continuation. Preparation requests do not count as result pages. Minimum 1. |
Enter supported profile URLs or usernames. A board URL, section URL or individual pin link is not a profile input.
Use canonical HTTPS links on www.pinterest.com or pinterest.com. Country-specific hosts, shortened pin.it links and unsupported paths are not accepted. A leading @ is accepted for plain usernames; usernames are normalized.
Duplicate normalized inputs are processed once. A returned identifier is deduplicated within the pagination of one source input; the same object found under different source inputs retains each source relationship.
The first result request counts as page 1. Source validation and preparation requests do not consume result pages. A short or filtered page can continue if it supplies a usable cursor. Collection stops at the page budget or the end of pagination; a repeated cursor does not trigger an endless loop.
Pinterest profile Created pins use cases 🎯
Brand publication inventories
Collect Created pins from selected brands and compare titles, images and source links. Keep profile context when combining several brands.
Creator content review
Inspect a sample of a creator’s published pins and available media. Review original links before interpreting a pin as part of a particular campaign.
Editorial source collection
Export publication text, dates and external URLs to prepare an editorial log. Apply any topic or date filtering in your own analysis.
Pricing and saved-result behavior 💰
Check the Actor’s Pricing tab for the active charging model and current rate. Store settings may change, so this README does not state an unverified fixed price or runtime.
Under dataset-item pricing:
- Each unique success result represents one pin for its source input.
- An invalid or unavailable input, an input with no accessible results, or a request that exhausts retries can produce a
failedrow. - Retry attempts and supporting metadata requests do not create extra dataset rows by themselves.
- Nested media, author and source fields stay inside their parent result.
- A normal empty continuation after earlier successes creates no additional result row.
- Saved failed rows are not assumed to be free. Check the active pricing configuration for their treatment.
Larger page budgets and more inputs can produce more saved rows. Start with a small run and check actual usage before increasing the workload.
Pinterest profile Created pins API 🔌
Replace $ACTOR_ID with the identifier shown in this Actor’s API tab and $APIFY_TOKEN with your Apify token.
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"inputList":["fitnessmagazine"],"pagesPerProfile":1}'
Download JSON, CSV, Excel, XML or other formats available in the Console, or retrieve the dataset through the Apify API. Schedules, webhooks and Apify integrations can connect results to Google Sheets, Make, Zapier, n8n, cloud storage or your own backend. These are connection options rather than integrations already configured by the Actor.
Reliability, retries, and public-data limits ⚠️
Collection uses pure HTTP with up to five concurrent requests. Invalid syntax and confirmed missing, removed or inaccessible targets stop without unnecessary retries. Temporary network or proxy failures, timeouts, blocking responses, malformed data, throttling and server errors are retried up to five total attempts per request.
Earlier successful pages remain saved when a later request fails. A normal end after previously saved results is not retried. An input that produces no accessible results can receive a failed row; this does not by itself prove the underlying account or collection does not exist. A later exhausted request can append a failed row while keeping earlier output.
Pinterest controls public availability, ranking, fields and pagination. Private, deleted, restricted or otherwise unavailable data can be omitted. Counts can change during collection, and media links can expire. Successful HTTP research confirms the supported request paths and pagination on tested sources, rather than future availability or exhaustive coverage.
Coverage is the Created tab only. It does not collect all Saved pins or all boards from a profile. Profile counters such as native_pin_count are not used as a guaranteed count of Created results. Returned feed fields can be less detailed than an individual pin lookup.
An invalid string within a valid input list does not stop other inputs. A configuration that fails validation, such as a non-string list item or an invalid page-count type, exits before requests start. Infrastructure errors such as startup failure, unavailable dataset storage or an unrecoverable result-save error can stop the whole run. A failed dataset save is not retried as a new scraping request.
Frequently asked questions ❓
Does it collect Saved pins?
No. It collects the public Created tab. Use Profile Boards Scraper to find public boards, then Board Pins Scraper to collect pins from chosen boards.
Why can a profile return no Created pins?
An account may have no accessible Created content, or Pinterest may limit the public response. The existence of saved pins does not guarantee Created results.
Does the page limit apply to the whole batch?
It applies separately to each source profile, as described in the input settings. Different profiles can return different result counts.
Does it require Pinterest login or personal cookies?
No. The Actor uses HTTP requests from the public website. It does not require a Pinterest account, password or personal session cookie, and does not launch a browser.
What happens to invalid or unavailable inputs?
Invalid individual inputs are saved as failed rows without a source request. Confirmed unavailable targets stop without unnecessary retries. Temporary failures allow up to five total attempts; other inputs and previously saved results remain available.
Can I export results or schedule runs?
Yes. Download the default dataset in supported formats or retrieve it through the Apify API. Apify schedules and completion webhooks can connect repeated runs to your own workflow.
Support, responsible use, and related actors 🛟
For a reproducible issue, use the Actor’s Issues tab and provide the run ID, approximate time, safe public input, expected behavior and actual result. Include the selected mode or page count when applicable. Do not share access tokens, cookies or proxy credentials.
Use public data responsibly and follow applicable privacy, copyright, contractual and platform requirements before storing, analyzing or redistributing collected information.