Documentation Python quickstart Blog Free tools hello@quanticdata.ioLog in

Pinterest Proxies: 1.3 MB Profile, 107 Words

What one public Pinterest profile costs to read through a proxy, measured on 28 September 2026: 1,304,978 bytes of plain HTML give 107 words with the h1, the description and the board grid, 2,628,042 bytes of rendered page give 151 words after 33 seconds, and the oEmbed endpoint gives the name and the author URL in 375 bytes with no follower count
What one public Pinterest profile costs to read through a proxy, measured on 28 September 2026: 1,304,978 bytes of plain HTML give 107 words with the h1, the description and the board grid, 2,628,042 bytes of rendered page give 151 words after 33 seconds, and the oEmbed endpoint gives the name and the author URL in 375 bytes with no follower count

Pinterest gives a proxied client more than the vendors selling Pinterest proxies think, and less than a browser costs. On 28 September 2026 we fetched one public profile fifteen times through residential exits in the United States, Germany and Brazil. A plain HTTP client received 1,304,978 bytes with the h1, the description, ProfilePage JSON-LD and the board grid, 107 extractable words. Rendering the same page cost 2,628,042 bytes and 33 seconds for 151 words, and from Brazil the render never hydrated at all. The exit country picked the domain, www, de. or br., before a single script ran.

Search for Pinterest proxies and Google offers you an unblocker

The head term hardly exists. Autocomplete returns "pinterest content policy", "pinterest owned by" and three variants of "pinterest proxy site", which are the school-network unblockers. The first page of results is nine vendor pages selling IPs for registering many accounts and running Pinbots and autopin software, one Reddit thread, and, at rank ten, a Pinterest developer page about a different proxy entirely: Pinterest's own image proxy, the service that fetches images from your website when someone pins them, so that the request you see in your logs comes from Pinterest and not from the user. If you arrived here because of that page, it is a Pinterest feature, not a product, and there is nothing to buy.

The data intent lives under "pinterest scraper": api, github, python, board, image, profile, search. That is the question this article measures: what does pinterest.com hand a client that arrives through a proxy, which surfaces are worth the bytes, and what the exit country does to the answer.

A profile is 1.3 MB of plain HTML, and the useful part is in the head

We audited pinterest.com/nasa/ with and without JavaScript from each of the three exits, and weighed it over plain HTTP.

FetchExitFinal hostBytesWordsTitle
Profile, no JavaScriptUSwww.pinterest.com1,304,978107NASA (nasa) - Profile | Pinterest
Profile, renderedUSwww.pinterest.com2,628,042151NASA (nasa) - Profile | Pinterest
Profile, no JavaScriptDEde.pinterest.com1,294,444127NASA (nasa) – Profil | Pinterest
Profile, renderedDEde.pinterest.com181NASA (nasa) – Profil | Pinterest
Profile, no JavaScriptBRbr.pinterest.com129NASA (nasa) — Perfil | Pinterest
Profile, renderedBRbr.pinterest.com129NASA (nasa) — Perfil | Pinterest
oEmbed, no tokenUSwww.pinterest.com375JSONNASA

Read the byte column first. A profile page is 1.3 megabytes over plain HTTP, and only a fraction of that is content: the page ships its application and its state to every client, whether or not the client can run it. Inside, the parts that matter for a data job are server-rendered: the h1 "NASA", the description "Explore the universe and discover our home planet with the official NASA boards on Pinterest", the canonical link, an Open Graph block, a ProfilePage JSON-LD object, and the board grid, 11 headings and 23 images in the plain HTML. What the plain HTML does not carry is a follower count. Pinterest keeps counters out of the head, which is the one way it is stingier than Facebook, Instagram or Threads.

The rendered rows are the ones to learn from. From the United States, the browser downloaded twice the bytes, ran for 33.3 seconds, and lifted the word count from 107 to 151: the pin grid populating. From Germany, 127 to 181. From Brazil, 129 to 129: the page returned 200, looked complete, and never hydrated inside the capture window. That is the expensive failure mode of rendering a single-page app, and we have seen it before on Bluesky: no error, just a shorter page you might store as if it were the whole profile. Count words per exit, never trust the status.

The exit country picks the domain before any script runs

We sent no Accept-Language header and changed nothing between exits. Pinterest redirected the German exit to de.pinterest.com and the Brazilian exit to br.pinterest.com, translated the title into "Profil" and "Perfil", and left the canonical pointing at www.pinterest.com/nasa/ in all three cases. The description stayed in English because it is the account's own text.

Three consequences for a collector. First, a URL list built from one country's crawl will be redirected in another country's crawl, so store the canonical, not the final URL. Second, the interface strings differ per exit, so a parser keyed on the English word "Profile" in the title breaks silently from Germany; key on the canonical and the JSON-LD instead. Third, and this is the one that decides the pool, the render hydrated in two countries and not in the third. Pin the exit country per job, so that every row in a dataset was read from the same Pinterest, and treat a rendered word count equal to the plain count as a retry, not a result.

The oEmbed endpoint exists, and it carries no counts

Every profile page advertises an oEmbed endpoint in its Link header, and it answers a client with no token: www.pinterest.com/oembed.json?url=https://www.pinterest.com/nasa/ returned 375 bytes of JSON in 2.1 seconds, cached for 259,200 seconds, three days.

{"version":"1.0","type":"rich","provider_name":"Pinterest",
 "title":"NASA","author_name":"NASA",
 "author_url":"https://www.pinterest.com/nasa/",
 "width":450,"height":900,"html":"<iframe src=... grid=nasa ...>"}

It resolves a profile URL to a display name and an author URL, and hands you an embed. It has no follower count, no pin count, no board list. For validating a list of handles it is 3,480 times cheaper than the profile page; for anything else it is not the tool. The same shape holds on TikTok, where oEmbed returns a name in 668 bytes and nothing you could put in a spreadsheet.

The official API is a different thing. Pinterest API v5 is, in Pinterest's own words, only available to authenticated and authorized users: every call carries an OAuth access token scoped to a user who granted your app permission. It reads that user's boards, pins and analytics. It does not read other people's public profiles at scale, which is why the "pinterest scraper api" query exists at all.

robots.txt is an allowlist of 330 named bots, then Disallow everything

pinterest.com/robots.txt is 37,852 bytes and it is built backwards from most sites. It opens with a comment, "Allowlist your bot: https://help.pinterest.com/bot-submission-form", then lists roughly 330 named user agents, Googlebot and bingbot alongside Applebot, DuckDuckBot, Slackbot, TelegramBot, WhatsApp, Mastodon, meta-externalfetcher, Google-NotebookLM and hundreds of monitoring and SEO tools, and gives that whole group the same set of path rules: pins, boards and profiles allowed, search, homefeed, settings, followers lists, comments and the business tools disallowed. A separate block gives AdsBot-Google, LinkedInBot, SnapchatAds, meta-externalads and Taboolabot Allow: /, so that ad-verification crawlers can see everything. Then the last block:

User-agent: *
Disallow: /

Followed by about a hundred Sitemap: lines: image pins by engagement tier, video pins, product pins, board links, user links, seasonal pins, shopping. Pinterest is simultaneously publishing a detailed map of its public content and telling any client it has not named to stay out of all of it. The bot submission page is the door: 118,644 bytes for a form that asks who you are. It is worth noting who is not on the allowlist: none of the AI training crawlers by name, and not a single generic scraping framework.

The Terms of Service say the same thing in one sentence, in section 2a: users agree not to scrape, collect, search, copy or otherwise access data or content from Pinterest in unauthorized ways, such as by using automated means without express prior permission. So the honest position is this. A public profile is technically readable over plain HTTP, and the canonical, the description, the JSON-LD and the board list arrive without a browser. Permission to collect it at scale is a contractual question that robots.txt and the Terms both answer with "ask first". Reading a handful of profiles to verify a creator or check how your own pins render in another market is one thing; a crawl of the user sitemap is what the last two lines of robots.txt are about. Under United States law the two questions are separate, and we cover that ground in is web scraping legal in the US; Pinterest's own position does not depend on it.

What a Pinterest read costs

Every number here came through residential proxies on the Basic line at $0.80/GB, counting a gigabyte as 10^9 bytes.

JobBytes per requestRequests per GBCost per request
Profile, no JavaScript1,304,978766$0.0010
Profile, rendered, hydrated2,628,042380$0.0021 plus 33 s of browser
oEmbed, name and author URL3752,666,666$0.0000003

A gigabyte holds 766 profile pages over plain HTTP or 380 rendered ones, and the rendered ones take 33 seconds each and fail to hydrate in one exit of three. Ten thousand profiles is 13 GB and about $10 over plain HTTP; rendered, 26 GB, $21, and 92 hours of browser time. Pinterest is the heaviest plain page in this series, 1.3 MB against 1.03 MB for a Threads profile, 663 KB for a Snapchat profile and 128 KB for a Telegram feed page, because it ships the whole application to every client and renders the least of it on the server. Budget by bytes, and never budget the render: on this platform it doubles the cost and adds 44 words.

The setting that works on Pinterest

  • Network: residential proxies, Basic line, $0.80/GB. Fifteen fetches from three countries returned complete plain-HTTP pages; the Premium ($2.20/GB) and Mobile ($2.30/GB) lines returned nothing extra on logged-out reads, and the cost driver is the 1.3 MB page, not the address.
  • Fetch mode: engine: tls, plain HTTP. The profile returns 107 words, the h1, the description, the canonical, the ProfilePage JSON-LD and the board grid in 1,304,978 bytes; rendered it returns 151 words in 2,628,042 bytes after 33 seconds, and from one exit in three it returns the plain count again. Use oEmbed, 375 bytes, to resolve handles to names.
  • Country: pin the exit per job. The same URL becomes www.pinterest.com from the United States, de.pinterest.com from Germany and br.pinterest.com from Brazil, with the title translated; store the canonical, which stays on www, and parse the JSON-LD rather than the interface strings.
  • When the proxy is not enough: there is no Pinterest collector in our catalogue. The web scraping API without rendering returns the profile as clean Markdown from $0.0002 per page, with a CSS extraction schema for the board list and the option to return the page's own state as JSON; failed requests are never billed. To see the no-JS and rendered views of your own URL list side by side, the SEO Audit API fetches both in one call at $0.0012 per URL, which is exactly the measurement in this article.
  • Free tier: every account gets $2 of free API usage per month, which is 10,000 profile pages through the scraping API before you pay anything.

Read the profile over plain HTTP, pin the country, keep the canonical, resolve handles through oEmbed, and read the Terms before you read the sitemap. For the platform in this series where the head does carry the counts, compare Threads; for the one that answers in 2,810 bytes with no page at all, Discord.

What we will not help you do

Nine of the ten results on this keyword sell the same thing: register many Pinterest accounts through proxies and run autopin bots on them. We will not write that. Pinterest's Terms prohibit automated access without permission, its spam policy covers automated pinning, and no proxy restores a suspended account. What proxies legitimately serve on Pinterest is creator and brand research on public profiles, checking that your own pins, boards and shopping ads render correctly in each market, which the domain redirect makes a real per-country question, monitoring for counterfeit or unauthorised use of your product images, and reading your own analytics through the API you are authorised for.

Sources & further reading

FAQ

Quick answers on pinterest proxies.

Something else? Ask us →

Can I scrape Pinterest profiles without logging in?

A public profile answers a plain HTTP client with 1,304,978 bytes on 28 September 2026, carrying the h1, the description, the canonical, a ProfilePage JSON-LD object and the board grid, 107 extractable words, with no login. Follower and pin counts are not in the plain HTML. Pinterest’s Terms, section 2a, prohibit automated collection without express prior permission, and robots.txt names about 330 allowed bots and disallows everything for the rest, so reading at scale is a permission question, not a technical one.

Does Pinterest have an oEmbed endpoint?

Yes. www.pinterest.com/oembed.json?url=<profile or pin URL> answered a client with no token in 375 bytes, cached for 259,200 seconds, with the title, author_name, author_url and an iframe embed. It carries no follower count, no pin count and no board list, so it resolves handles to names at 2.67 million requests per gigabyte and does nothing else.

Should I render Pinterest pages with a headless browser?

No. The rendered profile cost 2,628,042 bytes and 33.3 seconds and lifted the word count from 107 to 151 from a US exit, from 127 to 181 from Germany, and from 129 to 129 from Brazil, where the page returned 200 and never hydrated. Twice the bytes, half a minute, 44 words, and a silent miss in one exit of three. Read the plain HTML and the JSON-LD instead.

Does the exit country change what Pinterest returns?

Yes, before any script runs. The same URL redirected to www.pinterest.com from the United States, de.pinterest.com from Germany and br.pinterest.com from Brazil, with the title translated to Profil and Perfil, while the canonical stayed on www.pinterest.com/nasa/ every time. Store the canonical, parse the JSON-LD rather than interface strings, and pin one country per job so every row was read from the same Pinterest.

Does the Pinterest API let me read other people’s public profiles?

No. Pinterest API v5 is only available to authenticated and authorized users: every request carries an OAuth access token scoped to a user who granted your app permission, and it reads that user’s boards, pins and analytics. There is no unauthenticated read endpoint for public profiles beyond the 375-byte oEmbed response, which returns a name and a URL.

What does it cost to read 10,000 Pinterest profiles?

At 1,304,978 bytes per profile over plain HTTP, 10,000 profiles are about 13 GB, roughly $10 on residential Basic at $0.80/GB, counting a gigabyte as 10^9 bytes. Rendered, 26 GB and $21 plus 92 hours of browser time for 44 more words each. Through the web scraping API without rendering the same pages cost $0.0002 each, $2, with rotation and retries handled and failed requests never billed.

Weigh the profile before you build the crawler

Every number here came from one platform: fetch any Pinterest URL over plain HTTP or rendered, compare the two views side by side, and see what each byte returns. Every account gets $2 of free API usage each month, and failed requests are never billed.

Related reading

Social proxiesSnapchat Proxies: 757K Subscribers, No JS

Sixteen fetches of Snapchat on 28 September 2026 from the United States, Germany and India. A public profile returns its subscriber count, category, website and a Spotlight list with view counts to a plain HTTP client in 662,597 bytes, no login, no JavaScript. Rendering the same page costs 2,637,627 bytes for the same 94 words. The exit country rewrites the title and the counter label, and Snapchat tells you which country it saw in a response header. Here is the measurement, the arithmetic, and where the Snap Terms stop you.

Read →
Social proxiesTelegram Proxies: 1,139 Words, No JavaScript

Nineteen fetches of Telegram on 28 September 2026 from the United States, Germany and India. The t.me/s/ web preview of a public channel returns 1,139 words and 127,691 bytes to a plain HTTP client, identical from all three countries, paginated by message id, with no account and no token. Rendering adds 40 words of chrome for 7.6 seconds. The Bot API wants a token for every method, and there is no robots.txt on t.me at all. Here is the measurement, the arithmetic, and the line Telegram’s own terms draw.

Read →
Social proxiesThreads Proxies: 12.7M Followers in the Head

Thirteen fetches of Threads on 28 September 2026 from the United States, Germany and Brazil. A public profile answers a plain HTTP client with 1,034,341 bytes, the follower and post counts in the meta description, and the recent posts in the HTML, no login and no JavaScript. Rendering it costs 2,028,277 bytes for an unstable word count. The exit country rewrites the number itself: 12.7M, 12,7 Mio., 12,7 mi. Here is the measurement, the arithmetic, what the Threads API needs, and the sentence in robots.txt that governs all of it.

Read →