Tutorials
Pinterest profile in curl
One authenticated call to /api/v1/pinterest/profile?handle=pinterest, the response it returned, and the line that reads one field out of it.
What you need
curl ships with macOS and most Linux distributions, and with Windows 10 and later. There is nothing to install.
The call
curl -H "Authorization: Bearer $HH_KEY" \
"https://honesthook.com/api/v1/pinterest/profile?handle=pinterest"
What came back
{
"success": true,
"platform": "pinterest",
"endpoint": "pinterest/profile",
"data": {
"author": {
"id": "pinterest",
"handle": "pinterest",
"name": "Pinterest",
"followers": 6264894,
"following": null,
"posts_count": null,
"verified": null,
"is_private": null
}
},
"error": null,
"cached": false
}
Recorded response, captured 27 Sep 2026. A live call returns the value at the moment you ask, not this one.
Every field in that capture
| In curl | Type in this capture |
|---|
.success | boolean |
.platform | string |
.endpoint | string |
.data.author.id | string |
.data.author.handle | string |
.data.author.name | string |
.data.author.followers | number |
.data.author.following | null |
.data.author.posts_count | null |
.data.author.verified | null |
.data.author.is_private | null |
.error | null |
.cached | boolean |
A field we cannot read comes back null, never 0. A zero would be a claim about the account; null is a fact about our collection. The full list of what this route does not return is on pinterest-api/profile.
Reading one field
curl -H "Authorization: Bearer $HH_KEY" \
"https://honesthook.com/api/v1/pinterest/profile?handle=pinterest" \
| jq -r '.data.author.followers'
jq is a separate tool — it is not part of curl. Without it the command above prints the whole envelope, which is the block below.
A Pinterest profile page carries dozens of counters that share the same name. Boards have followers. The profile has followers. They are different numbers sitting in the same document, and a regular expression that grabs the first match returns a board's count while looking exactly like a success.
That is the bug this endpoint was built to not have.
Where the number comes from
The follower count here is read from the page's structured ld+json profile block — the one place in the document that says which entity the number belongs to. Not from the markup, and not from the text beside it.
You do not have to do any of that. You make one call. But it is worth knowing, because it is the difference between a number you can publish and a number that is merely plausible — and a plausible wrong number is the expensive kind: nothing errors, the value looks fine, and it is a board's.
What you are calling
One authenticated GET to our endpoint, with your key in an Authorization header. The handle in the example is the one that produced the recorded response below.
Before you copy the block
Keep the key in an environment variable — all three examples read HH_KEY.
Then read the field list. Pinterest has several different badges and no single verified flag, so that field is null rather than a badge the platform never gave.