The short version
The thirteen limits, with the numbers
1. Ten link readings per address per ten minutes
Reading a Pin link — the step that turns a URL into a list of files — is capped at ten per client address on a fixed ten-minute window. The eleventh in the same window is refused with HTTP 429 and a retry delay equal to the time left in the window, carried in a Retry-After header so a client never has to guess. The counter is a fixed window, not a rolling average, so it resets all at once rather than trickling back.
2. Thirty downloads per address per ten minutes
Saving files is a separate counter with its own allowance: thirty per address per ten minutes. Because the two counters are independent, being blocked from reading does not block you from downloading a list you already have, and vice versa. A Pin with nine renditions therefore cannot be saved three times inside one window.
3. A job lives thirty minutes in server memory
A resolve produces a job, and that job holds the result and the download links. It exists only in server memory for thirty minutes. After that the job is swept and the answer to an old job id is an expired error rather than a stale result. A restart empties the store immediately, which the page communicates as "read the Pin again" rather than as a fault.
4. A download link expires in fifteen minutes
Each file carries its own signed link, and that signature carries an expiry fifteen minutes from the moment the result was produced. Past that the link answers HTTP 410 and says expired. The signature also binds the link to the job and to the browser session that created it, so a link pasted into another browser answers not-found rather than delivering the file.
5. Five hundred jobs exist server-wide at once
Jobs are held for everyone on the server together, with room for five hundred. Past that the oldest are dropped to make space, so under heavy load a job can disappear earlier than its thirty minutes. Nothing else changes: a dropped job answers expired, and reading the Pin again produces a fresh one.
6. Only a Pin link is accepted, never a board or a profile
The input must be one Pin. A board address, a profile address and a search address are all refused with a distinct code, because each of them looks like a valid Pinterest link while meaning "many Pins". There is no batch mode, no whole-board save and no feed listing. That boundary is deliberate rather than a missing feature.
7. Private and secret boards are unreachable
Nothing here logs in, so nothing behind a login can be read. A Pin on a secret board, a deleted Pin and a Pin from a suspended account all answer the same not-found code. There is no setting on the page that changes this, and no retry that helps.
8. A pin.it short link must actually resolve to a Pin
Short links are followed through their redirect chain and the final address decides. A valid short code lands on the Pin. An invalid or expired one lands on the Pinterest home page with HTTP 200 — no error page, just the home page — which is why this case has its own code instead of being reported as a network failure.
9. A Pin whose video file is gone answers GHOST_VIDEO, with a cover thumbnail
Pinterest keeps the Pin record after the media file is removed, and the record keeps its video flag. The result is a Pin that claims a video and has none. This tool reports that state explicitly and returns only the 474-pixel cover thumbnail — no size list, no rendition list. It is not a download failure and retrying changes nothing.
10. A Pin with neither a reachable image nor a video answers NO_MEDIA
This is the empty case: image specifications were found but every one of them measured dead, and no video variant existed either. It is distinguished from GHOST_VIDEO because the cause is different — there the video is gone, here nothing usable was ever there. Both are permanent for that Pin.
11. Measurement is bounded, so late rows carry no size
Before answering, the tool measures the first five image sizes and the first four video renditions by fetching a byte range of each. Rows beyond those counts are listed without a measured size. This is a deliberate ceiling on how long a single read may take, and it is why a long rendition list shows some sizes and not others.
12. Pinterest metadata is not trusted; sizes are measured
A declared 1080 by 1920 video has been measured at 720 by 1280, and an "originals" address has answered 403. So every size shown is read from the bytes rather than from the label, and a variant that cannot be measured is dropped instead of being offered optimistically. A size you do not see is a size that could not be confirmed.
13. Which failure codes can be retried, and which cannot
RATE_LIMITED and TIMEOUT are worth retrying. EXPIRED is worth retrying only by reading the Pin again, not by reusing the old link. INVALID_URL, UNSUPPORTED_LINK, SHORT_LINK_INVALID, PIN_NOT_FOUND, GHOST_VIDEO, NO_MEDIA, SOURCE_ERROR, NOT_FOUND and NETWORK are permanent for that request and retrying them changes nothing. All twelve are listed under each failure below, in the same words the API returns.
What each failure actually means
Ten outcomes look alike from the outside. Two of them are worth reacting to, one is worth re-reading the Pin, and the rest are permanent for that link. None of them mean the tool is broken.
RATE_LIMITEDTIMEOUTEXPIREDINVALID_URLUNSUPPORTED_LINKSHORT_LINK_INVALIDPIN_NOT_FOUNDGHOST_VIDEONO_MEDIASOURCE_ERRORTwo more codes exist and are not about a Pin at all: NOT_FOUND means the link asked for belongs to another browser session or to no job this server ever made, and NETWORK means the request never left the client or never reached us — so its answer says nothing about the Pin.
What is not stored
No account, so there is no library, no history and nothing to sign back into. A resolved Pin lives in server memory for thirty minutes and is then swept. Files pass through the proxy to your browser and are not kept as a collection. There is no record of which Pins have been saved by whom, because there is no "who" in the first place.
What this tool is not
Not affiliated with Pinterest
PinMosaic is independent. It is not affiliated with, sponsored by or endorsed by Pinterest, and a refusal or a failure here says nothing about what Pinterest itself would allow.
Not a licence to republish
A public Pin is not permission to reuse someone else’s photograph or video. Public visibility and copyright are separate questions, and saving a file does not answer the second one.
Not an archiver
There is no way to point this at a board or an account and collect everything on it. One Pin at a time, by link. That boundary is the reason this tool is not an open proxy and not a bulk scraper.
See what is inside a Pin
Paste a public Pinterest Pin link and see every file behind it — each image size with its measured pixels, and each video rendition with its size where the tool measured it.
Open PinMosaic