Skip to main content

Pinterest API

Pinterest is a visual discovery platform that helps users find inspiration and ideas through images and videos, while providing businesses with powerful advertising and marketing tools to reach engaged audiences and drive traffic to their products and services.

Pinterest API icon

Power end-to-end data operations for your Pinterest API API with Nexla. Our bi-directional Pinterest API connector is purpose-built for Pinterest API, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Pinterest API or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Pinterest API workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Pinterest credential, you need to obtain your OAuth2 Client ID and Client Secret from your Pinterest account. Pinterest uses OAuth2 3-legged authentication, which allows Nexla to access your Pinterest account on your behalf.

To prepare for OAuth2 authentication, ensure you have the following:

  1. Pinterest Account: You must have an active Pinterest account with appropriate permissions to register OAuth2 applications.

  2. OAuth2 Client Application: You must have an OAuth2 client application registered in your Pinterest Developer account. If you don't have one, you'll need to create it in your Pinterest Developer Dashboard.

  3. Client ID and Client Secret: You need to obtain the Client ID and Client Secret from your OAuth2 client application settings in your Pinterest Developer Dashboard.

  4. Account Access: You must have administrative access or appropriate permissions to register OAuth2 applications and authorize access to your Pinterest account.

  5. OAuth Authorization: During the credential creation process, you will be redirected to Pinterest's authorization page to grant Nexla permission to access your Pinterest account. You will need to sign in with your Pinterest account and approve the authorization request.

The OAuth2 flow uses your OAuth2 client application to authenticate with Pinterest. When you authorize Nexla, you grant permission for Nexla to access your Pinterest account data based on the requested scopes (e.g., boards:read, pins:read, user_accounts:read). The authorization includes access to read and manage data in your Pinterest account. For detailed information about OAuth2 authentication, available scopes, and API access, refer to the Pinterest API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
Access ScopeYesNoPinterest API Access Scope
Client IDYesNoPinterest API Client ID
Client SecretNoYesPinterest API Client Secret for Token URL

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Pinterest API

PinterestCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Pinterest uses OAuth2 3-legged authentication to securely access your Pinterest account. Enter your OAuth2 Client ID in the Client ID field. This is the Client ID you obtained from your Pinterest Developer Dashboard (OAuth2 client application settings). The Client ID is used in the OAuth2 authorization flow to identify your application.

  3. Enter the OAuth2 scope in the Access Scope field. The default scope includes boards:read, pins:read, and user_accounts:read. You can modify the scope based on the Pinterest API resources you need to access. The scope determines which Pinterest API capabilities Nexla will have access to.

  4. Click the Authorize button to begin the OAuth2 authorization process. You will be redirected to Pinterest's authorization page. Sign in to your Pinterest account, review the permissions that Nexla is requesting, and click Accept or Authorize to grant Nexla permission to access your Pinterest account. After authorization, you will be redirected back to Nexla, and the credential will be automatically configured with the OAuth2 tokens.

    OAuth2 authentication uses your OAuth2 client application to securely access your Pinterest account. When you authorize Nexla, you grant permission for Nexla to access your Pinterest account data based on the requested scope (e.g., boards:read, pins:read, user_accounts:read). The authorization includes access to read and manage data in your Pinterest account.

    The OAuth2 tokens (access token and refresh token) are automatically managed by Nexla. The access token is used to authenticate API requests, and the refresh token is used to obtain new access tokens when they expire. Tokens are automatically refreshed as needed to maintain access to your Pinterest account.

    If you need to revoke access, you can do so in your Pinterest Developer Dashboard under OAuth2 applications or Connected apps. For detailed information about OAuth2 authentication, available scopes, and API access, see the Pinterest API documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Pinterest connector tile, then select the credential that will be used to connect to your Pinterest account, and click Next; or, create a new Pinterest credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Pinterest endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get user account

This endpoint template retrieves user account information from your Pinterest account. Use this template when you need to retrieve information about your Pinterest user account, including account details, profile information, and other user account data.

  • This endpoint automatically retrieves user account information from your Pinterest account. No additional configuration is required beyond selecting this endpoint template.

This endpoint returns user account information from your Pinterest account, including account details, profile information, and other user account data. The endpoint returns a single user account record.

For detailed information about user account management, API response structures, and available user account data, see the Pinterest API documentation.

Get Pins

This endpoint template retrieves pins from your Pinterest account. Use this template when you need to retrieve information about pins, including pin IDs, descriptions, images, and other pin data.

  • This endpoint automatically retrieves pins from your Pinterest account. The endpoint uses bookmark-based pagination to handle large datasets efficiently.

This endpoint returns pins from your Pinterest account, including pin IDs, descriptions, images, and other pin data. The endpoint uses bookmark-based pagination with a bookmark parameter to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by following the bookmark returned in the API response.

For detailed information about pin management, API response structures, pagination, and available pin data, see the Pinterest API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Pinterest data sources can also be manually configured to ingest data from any valid Pinterest API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Pinterest API endpoints typically follow the pattern https://api.pinterest.com/v5/{resource_path} (e.g., https://api.pinterest.com/v5/user_account, https://api.pinterest.com/v5/pins), and typically use the GET method for retrieving data. Pinterest uses bookmark-based pagination with a bookmark parameter for most endpoints. For the Response Data Path, use $ to extract the entire response for single record endpoints, or $.items[*] to extract all items from the items array for list endpoints, depending on your endpoint.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Pinterest data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Pinterest destination, and select the Send to Destination option from the menu. Select the Pinterest connector from the list of available destination connectors, then select the credential that will be used to connect to your Pinterest account, and click Next; or, create a new Pinterest credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Pinterest endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Post a pin

This endpoint template creates a pin in your Pinterest account using records from a Nexset. Use this template when you need to create new pins for content sharing, marketing campaigns, or other pin management purposes.

  • Enter the ad account ID in the Ad account ID field. This should be the unique identifier of an ad account (default: 123456789123456789). The ad account ID is used for advertising-related pins. This field is optional and can be left empty if you're not creating advertising pins.

This endpoint sends data as JSON in the request body to create pins in your Pinterest account. Each record from your Nexset will be sent as a separate API request to create a new pin in Pinterest. The request body should contain the pin data in the format required by the Pinterest API.

The pin structure must match the Pinterest API's expected format. For detailed information about pin creation, request body formats, available pin properties, and pin management, see the Pinterest API documentation.

Post board

This endpoint template creates a Pinterest board in your Pinterest account using records from a Nexset. Use this template when you need to create new boards for organizing pins, content curation, or other board management purposes.

  • Enter the ad account ID in the Ad account ID field. This should be the unique identifier of an ad account (default: 123456789123456789). The ad account ID is used for advertising-related boards. This field is optional and can be left empty if you're not creating advertising boards.

This endpoint sends data as JSON in the request body to create boards in your Pinterest account. Each record from your Nexset will be sent as a separate API request to create a new board in Pinterest. The request body should contain the board data in the format required by the Pinterest API.

The board structure must match the Pinterest API's expected format. For detailed information about board creation, request body formats, available board properties, and board management, see the Pinterest API documentation.

Manual configuration

Pinterest destinations can also be manually configured to send data to any valid Pinterest API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Pinterest API endpoints typically follow the pattern https://api.pinterest.com/v5/{resource_path} (e.g., https://api.pinterest.com/v5/pins, https://api.pinterest.com/v5/boards), and typically use the POST method with JSON format for creating resources. Include any required query parameters, such as ?ad_account_id={ad_account_id}, in the endpoint URL. The request body is typically {message.json} to send the entire Nexset data as JSON, or a custom JSON structure with specific field mappings matching the Pinterest API's expected format.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Pinterest endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Pinterest endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.