HonestHook

RankingsSign in

Home · Docs · Endpoints · pinterest/boards

pinterest/boards — the public boards of an account

Name, description, pin count and followers per board — read from a document the profile route was already downloading and discarding.

The call

PathGET /api/v1/pinterest/boards
Catalogue idpinterest/boards
Cost1 credit per call. A call that finds nothing costs nothing.
KeyRequired — Authorization: Bearer hk_live_...

Parameters (1)

NameInRequired
handlequeryyes

That list is the whole list, and anything else is ignored in silence. An undeclared parameter is not rejected — it produces no error, no warning and no filtering. Check a parameter against this table before assuming a narrower result came back.

What the parameter list does not tell you

This route costs nothing extra to serve, in the literal sense: `pinterest/profile` was already fetching the page that contains the boards and throwing that part away. Measured on `pinterest.com/nasa/` at 1,307,841 bytes, committed as a fixture: the `__PWS_INITIAL_PROPS__` script carries 10 distinct boards, each with id, url, name, description, creation date, pin count and follower count — 10 of 10 populated on every field.

IT IS NOT A POSTS ROUTE AND DELIBERATELY DOES NOT REUSE THAT SHAPE. A board is not a post: it has no likes, no replies and no reposts, and its metrics are `pins` and `followers`. Forcing it into the `*/posts` envelope would hand you four metric fields that are structurally null and invite you to sum things that are not the same quantity.

`limit` IS NOT DECLARED, and that is not an omission. What the page carried is what exists — there is no second surface to page against without a different request entirely. Declaring a `limit` the route ignores is the same defect as hiding one it reads, and this API has paid for both.

Why there is no success body on this page

The 200 body for this endpoint is not transcribed here. Reading it needs a client key, and there is no client key on the machine these pages were built from — internal keys exist only as hashes, by design. An example we never received would look exactly like one we did, so instead of composing one, the response shape is documented field by field on the schema pages below. Those are generated from the contract and tested against it in both directions; an invented example would be tested by nothing.

Response shapes (2)

Error codes (8)

Every one of them carries the same body shape: ApiError. The error value is a stable string you can branch on — branch on that, never on the message text.

400 · 401 · 402 · 404 · 405 · 451 · 503 · 502

Machine-readable

This endpoint is in /openapi.json (OpenAPI 3.1), with its cost on the operation itself. If you are generating a client, use the spec rather than this page — and note that the spec is filtered by what is switched on right now, so it is the better answer to "can I call this today".

The other 6 endpoint pages

archive/trends · archive/movers · archive/coverage · profile/history · youtube/channel · bluesky/post

← All endpoint pages · Recipes · Schemas · Full docs