Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Pinterest

Scalekit connector
Open markdown

The Pinterest connector lets your AI agent act in each user's Pinterest account. Each user signs in to Pinterest once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 72 tools.

Tools
72
What they doRead · write · destructive
50 · 19 · 350 read19 write3 destructive
Users sign in with
OAuth app
Your own Pinterest app

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Pinterest connection

    In AgentKit > Connections, create a Pinterest connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    Pinterest connections use your own OAuth app. Register one with Pinterest and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the Pinterest connection.

  5. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'pinterest'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Pinterest:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'pinterest_boards_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • pinterest_board_getGet a single board by its ID from the authenticated Pinterest account, or a group board shared with that account.Read-only

    Get Board

    Get a single board by its ID from the authenticated Pinterest account, or a group board shared with that account. Returns the board's full details: id, name, description, privacy, pin count, follower count, and media. Use this to fetch one specific board when you already know its ID. Use pinterest_boards_list instead to browse or find boards.

    Inputs

    board_idstringrequired
    The unique numeric identifier of the board to retrieve. Digits only. Example: 549755885175.
    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this lookup, instead of the token user's own account. Only needed when using Pinterest Business Access to view a board owned by that ad account's user; the token user must hold an appropriate Business Access role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
  • pinterest_board_pins_listList the Pins saved to a specific board owned by the authenticated Pinterest account, or a group board shared with that account.Read-only

    List Pins on Board

    List the Pins saved to a specific board owned by the authenticated Pinterest account, or a group board shared with that account. Returns a page of Pin objects (id, title, description, link, media, board_id) as items, plus a bookmark cursor for the next page (null when no more pages remain). Use this to browse or paginate the Pins on a board you already know the ID of. Use pinterest_pin_get to fetch one specific Pin's full details by ID, or pinterest_board_sections_list to see the board's sections instead of its Pins directly.

    Inputs

    board_idstringrequired
    The unique numeric identifier of the board whose Pins to list. Digits only. Example: 549755885175.
    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this listing, instead of the token user's own account. Only needed when using Pinterest Business Access to view Pins owned by that ad account's user; the token user must hold an appropriate Business Access role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
    bookmarkstring
    Pagination cursor used to fetch the next page of items. Pass the bookmark value returned in a previous response's "bookmark" field. Omit or leave null for the first page.
    creative_typesarray
    Filter Pins by ad creative type. Array of one or more of: REGULAR, VIDEO, SHOPPING, CAROUSEL, MAX_VIDEO, COLLECTION, IDEA, SHOWCASE, QUIZ, COLLAGE, MAX_WIDTH_REGULAR_COLLECTION, MAX_WIDTH_VIDEO_COLLECTION, APP. Note: SHOP_THE_PIN is deprecated in favor of COLLECTION.
    page_sizeinteger
    Maximum number of Pins to return in a single page. Integer from 1 to 250. Defaults to 25.default 25
    pin_metricsboolean
    Whether to include 90-day and lifetime Pin engagement metrics (impressions, saves, clicks, comments, reactions) in the response. Total comments and total reactions are only available with lifetime metrics. Defaults to false.default false
  • pinterest_board_section_pins_listList the Pins within a specific section of a board owned by the authenticated Pinterest account, or a group board shared with that account.Read-only

    List Pins in Board Section

    List the Pins within a specific section of a board owned by the authenticated Pinterest account, or a group board shared with that account. Returns a page of Pin objects (id, title, description, link, media, board_id, board_section_id) as items, plus a bookmark cursor for the next page (null when no more pages remain). Use this to browse the Pins inside one section. Use pinterest_board_pins_list instead to list all Pins on the whole board, or pinterest_board_sections_list to find a section_id first.

    Inputs

    board_idstringrequired
    The unique numeric identifier of the board that owns the section. Digits only. Example: 549755885175.
    section_idstringrequired
    The unique numeric identifier of the board section whose Pins to list. Digits only. Example: 907186624124.
    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this listing, instead of the token user's own account. Only needed when using Pinterest Business Access to view Pins owned by that ad account's user; the token user must hold an appropriate Business Access role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
    bookmarkstring
    Pagination cursor used to fetch the next page of items. Pass the bookmark value returned in a previous response's "bookmark" field. Omit or leave null for the first page.
    page_sizeinteger
    Maximum number of Pins to return in a single page. Integer from 1 to 250. Defaults to 25.default 25
  • pinterest_board_sections_listList all sections on a board owned by the authenticated Pinterest account, or a group board shared with that account.Read-only

    List Board Sections

    List all sections on a board owned by the authenticated Pinterest account, or a group board shared with that account. Returns a page of section objects (id, name) as items, plus a bookmark cursor for the next page (null when no more pages remain). Use this to browse a board's sections, e.g. to find a section_id. Use pinterest_board_section_pins_list instead to see the Pins inside one section, or pinterest_board_pins_list for all Pins on the board.

    Inputs

    board_idstringrequired
    The unique numeric identifier of the board whose sections to list. Digits only. Example: 549755885175.
    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this listing, instead of the token user's own account. Only needed when using Pinterest Business Access to view sections on a board owned by that ad account's user; the token user must hold an appropriate Business Access role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
    bookmarkstring
    Pagination cursor used to fetch the next page of items. Pass the bookmark value returned in a previous response's "bookmark" field. Omit or leave null for the first page.
    page_sizeinteger
    Maximum number of sections to return in a single page. Integer from 1 to 250. Defaults to 25.default 25
  • pinterest_boards_listList the boards owned by the authenticated Pinterest account, plus group boards it collaborates on, optionally filtered by privacy level.Read-only

    List Boards

    List the boards owned by the authenticated Pinterest account, plus group boards it collaborates on, optionally filtered by privacy level. Returns a page of board objects (id, name, description, privacy, pin count, follower count) as items, plus a bookmark cursor for the next page (null when no more pages remain). Use this to browse or search your boards, e.g. to find a board_id. Use pinterest_board_get instead to fetch one board you already know the ID of.

    Inputs

    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this listing, instead of the token user's own account. Only needed when using Pinterest Business Access to view boards owned by that ad account's user; the token user must hold an appropriate Business Access role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
    bookmarkstring
    Pagination cursor used to fetch the next page of items. Pass the bookmark value returned in a previous response's "bookmark" field. Omit or leave null for the first page.
    page_sizeinteger
    Maximum number of boards to return in a single page. Integer from 1 to 250. Defaults to 25.default 25
    privacystring
    Filter boards by privacy level. One of: ALL, PUBLIC, PROTECTED, SECRET, PUBLIC_AND_SECRET. If omitted, all boards visible to the token's scopes (and the ad account role, if applicable) are returned.one of ALLPUBLICPROTECTEDSECRETPUBLIC_AND_SECRET
  • pinterest_catalog_feed_getGet a single Pinterest catalog feed by its ID, from the authenticated account or a Business Access ad account you manage.Read-only

    Get Catalog Feed

    Get a single Pinterest catalog feed by its ID, from the authenticated account or a Business Access ad account you manage. Returns the feed's full details: name, format, location, status, catalog_type, default locale/country/currency, and credentials/processing schedule if set. Use this to check a feed's configuration when you already know its feed_id. Use catalog_feeds_list to browse or find a feed_id.

    Inputs

    feed_idstringrequired
    The unique numeric identifier of the catalog feed to retrieve. Digits only. Example: 864344156814050986.
    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this lookup, instead of the token user's own account. Only needed when using Pinterest Business Access; the token user must hold an Owner, Admin, or Catalogs Manager role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
  • pinterest_catalog_feed_processing_results_listList the processing results from past ingestion runs of a Pinterest catalog feed, including product/video counts and validation errors or warnings.Read-only

    List Catalog Feed Processing Results

    List the processing results from past ingestion runs of a Pinterest catalog feed, including product/video counts and validation errors or warnings. Returns a page of processing-result objects (id, status, ingestion_details, product_counts, video_counts, validation_details) and a bookmark cursor for the next page. Use this to check whether a feed_id's ingestion succeeded and to see item-level validation issues. Note: Pinterest currently only returns the first page for this endpoint; the bookmark cursor is not yet functional.

    Inputs

    feed_idstringrequired
    The unique numeric identifier of the catalog feed whose processing results you want to list. Digits only. Example: 864344156814050986.
    ad_account_idstring
    Unique identifier of a Business Access ad account to use as the operating account for this lookup, instead of the token user's own account. Only needed when using Pinterest Business Access; the token user must hold an Owner, Admin, or Catalogs Manager role on the ad account. Numeric string, up to 18 digits. Example: 549755885175.
    bookmarkstring
    Pagination cursor from a previous response's bookmark field. Currently not functional for this endpoint (only the first page is returned), but accepted for forward compatibility.
    page_sizeinteger
    Maximum number of processing results to return in a single page. Between 1 and 250. Defaults to 25.default 25