Pinterest Resources API
The Resources API from Pinterest — 6 operation(s) for resources.
The Resources API from Pinterest — 6 operation(s) for resources.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pinterest-resources-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 5.13.0
title: Pinterest Resources API
description: This is the description of your API.
contact:
name: Pinterest, Inc.
url: https://developers.pinterest.com/
license:
name: MIT
url: https://spdx.org/licenses/MIT
termsOfService: https://developers.pinterest.com/terms/
servers:
- url: https://api.pinterest.com/v5
tags:
- name: Resources
paths:
/resources/ad_account_countries:
get:
summary: Get ad accounts countries
description: Get Ad Accounts countries
operationId: ad_account_countries/get
security:
- pinterest_oauth2:
- ads:read
x-ratelimit-category: ads_read
x-sandbox: enabled
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AdAccountsCountryResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unexpected error
tags:
- Resources
/resources/delivery_metrics:
get:
summary: Get available metrics' definitions
description: 'Get the definitions for ads and organic metrics available across both synchronous and asynchronous report endpoints.
The `display_name` attribute will match how the metric is named in our native tools like Ads Manager.
See Organic Analytics and Ads Analytics for more information.'
operationId: delivery_metrics/get
security:
- pinterest_oauth2:
- ads:read
- pins:read
- user_accounts:read
x-ratelimit-category: ads_read
x-sandbox: enabled
parameters:
- $ref: '#/components/parameters/query_report_type'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DeliveryMetricsResponse'
description: Success
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Resources
/resources/lead_form_questions:
get:
summary: Get lead form questions
description: 'Get a list of all lead form question type names. Some questions might not be used.
This endpoint is currently in beta and not available to all apps. Learn more.'
operationId: lead_form_questions/get
security:
- pinterest_oauth2:
- ads:read
x-ratelimit-category: ads_read
x-sandbox: enabled
responses:
'200':
description: Success
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Resources
/resources/metrics_ready_state:
get:
summary: Get metrics ready state
description: Learn whether conversion or non-conversion metrics are finalized and ready to query.
operationId: metrics_ready_state/get
security:
- pinterest_oauth2:
- ads:read
x-ratelimit-category: ads_analytics
x-sandbox: enabled
parameters:
- name: date
description: 'Analytics reports request date (UTC). Format: YYYY-MM-DD'
in: query
required: true
style: form
schema:
type: string
pattern: ^(\d{4})-(\d{2})-(\d{2})$
example: '2022-07-13'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BookClosedResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unexpected error
tags:
- Resources
/resources/targeting/interests/{interest_id}:
get:
summary: Get interest details
description: 'Get details of a specific interest given interest ID.
Click here for a spreadsheet listing interests and their IDs.'
operationId: interest_targeting_options/get
security:
- pinterest_oauth2:
- ads:read
x-ratelimit-category: ads_read
x-sandbox: enabled
parameters:
- $ref: '#/components/parameters/path_interest_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SingleInterestTargetingOptionResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unexpected error
tags:
- Resources
/resources/targeting/{targeting_type}:
get:
summary: Get targeting options
description: 'You can use targeting values in ads placement to define your intended audience.
Targeting metrics are organized around targeting specifications.
For more information on ads targeting, see Audience targeting.
Sample return:
[{"36313": "Australia: Moreton Bay - North", "124735": "Canada: North Battleford", "36109": "Australia: Murray", "36108": "Australia: Mid North Coast", "36101": "Australia: Capital Region", "811": "U.S.: Reno", "36103": "Australia: Central West", "36102": "Australia: Central Coast", "36105": "Australia: Far West and Orana", "36104": "Australia: Coffs Harbour - Grafton", "36107": "Australia: Illawarra", "36106": "Australia: Hunter Valley Exc Newcastle", "554017": "New Zealand: Wanganui", "554016": "New Zealand: Marlborough", "554015": "New Zealand: Gisborne", "554014": "New Zealand: Tararua", "554013": "New Zealand: Invercargill", "GR": "Greece", "554011": "New Zealand: Whangarei", "554010": "New Zealand: Far North", "717": "U.S.: Quincy-Hannibal-Keokuk", "716": "U.S.: Baton Rouge",...}]'
operationId: targeting_options/get
security:
- pinterest_oauth2:
- ads:read
x-ratelimit-category: ads_read
x-sandbox: enabled
parameters:
- $ref: '#/components/parameters/path_targeting_type'
- $ref: '#/components/parameters/query_client_id'
- $ref: '#/components/parameters/query_oauth_signature'
- $ref: '#/components/parameters/query_timestamp'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TargetingOptionResponse'
description: Success
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unexpected error
tags:
- Resources
components:
parameters:
query_oauth_signature:
name: oauth_signature
description: Oauth signature
in: query
required: false
schema:
type: string
example: 8209f
style: form
path_interest_id:
name: interest_id
description: Unique identifier of an interest.
in: path
required: true
schema:
type: string
pattern: ^\d+$
maxLength: 18
query_report_type:
name: report_type
description: Report type.
in: query
required: false
schema:
type: string
enum:
- SYNC
- ASYNC
query_client_id:
name: client_id
description: Client ID.
in: query
required: false
schema:
type: string
pattern: ^\d+$
maxLength: 18
example: '1094834'
style: form
query_timestamp:
name: timestamp
description: Timestamp
in: query
required: false
schema:
type: string
example: '1618338184277'
pattern: \d+
style: form
path_targeting_type:
name: targeting_type
description: Public targeting type.
in: path
required: true
style: simple
schema:
title: PublicTargetingType
description: Public ad targeting type with external names
type: string
example: APPTYPE
enum:
- APPTYPE
- GENDER
- LOCALE
- AGE_BUCKET
- LOCATION
- GEO
- INTEREST
- KEYWORD
- AUDIENCE_INCLUDE
- AUDIENCE_EXCLUDE
schemas:
TargetingOptionResponse:
title: TargetingOptionResponse
type:
- array
- 'null'
items:
type: object
example:
'36313': 'Australia: Moreton Bay - North'
'124735': 'Canada: North Battleford'
BookClosedResponse:
title: BookClosed
description: Creation fields
type: object
properties:
conversion_metrics_ready:
title: conversion_metrics_ready
description: Are conversion metrics ready?
type: boolean
example: false
non_conversion_metrics_ready:
title: non_conversion_metrics_ready
description: Are non-conversion metrics ready?
type: boolean
example: false
AdCountry:
type: string
description: Country ID from ISO 3166-1 alpha-2.
example: US
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- YE
- YT
- ZA
- ZM
- ZW
SingleInterestTargetingOptionResponse:
title: SingleInterestTargetingOptionData
type: object
properties:
id:
type: string
title: id
pattern: \d+
example: '945391946569'
name:
type: string
title: name
example: Dress
child_interests:
type: array
title: child_interests
items:
type: string
level:
type: integer
title: level
example: 2
Error:
title: Error
type: object
properties:
code:
type: integer
message:
type: string
required:
- code
- message
AdAccountsCountryResponseData:
type: object
properties:
code:
$ref: '#/components/schemas/AdCountry'
type: string
currency:
description: Country currency.
example: Dollars
type: string
index:
type: number
description: Country index
example: 1
name:
type: string
description: Country name
example: United States of America
DeliveryMetricsResponse:
type: object
properties:
items:
type: array
items:
type: object
properties:
name:
type: string
description: Metric's name.
example: AD_GROUP_ID
category:
enum:
- ADS
- ORGANIC
description: Category name
example: ADS
definition:
type: string
description: How the metric is defined.
example: Unique ID for your ad group
display_name:
type: string
description: Display name, when available. If unavaible it will not be returned. Matches how the metric is named in our native tools like Pinterest Ads Manager.
example: Ad group ID
AdAccountsCountryResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/AdAccountsCountryResponseData'
securitySchemes:
pinterest_oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://www.pinterest.com/oauth/
tokenUrl: https://api.pinterest.com/v5/oauth/token
scopes:
ads:read: See all of your advertising data, including ads, ad groups, campaigns etc.
ads:write: Create, update, or delete ads, ad groups, campaigns etc.
billing:read: See all of your billing data, billing profile, etc.
billing:write: Create, update, or delete billing data, billing profiles, etc.
biz_access:read: See business access data
biz_access:write: Create, update, or delete business access data
boards:read: See your public boards, including group boards you join
boards:read_secret: See your secret boards
boards:write: Create, update, or delete your public boards
boards:write_secret: Create, update, or delete your secret boards
catalogs:read: See all of your catalogs data
catalogs:write: Create, update, or delete your catalogs data
pins:read: See your public Pins
pins:read_secret: See your secret Pins
pins:write: Create, update, or delete your public Pins
pins:write_secret: Create, update, or delete your secret Pins
user_accounts:read: See your user accounts and followers
user_accounts:write: Update your user accounts and followers
conversion_token:
type: http
scheme: bearer
description: This security scheme only applies to the conversion events endpoint (POST /ad_accounts/{ad_account_id}/events). This endpoint requires a bearer token generated via Ads Manager (ads.pinterest.com).
basic:
type: http
scheme: basic
x-tagGroups:
- name: Pin and Boards
tags:
- pins
- boards
- media
- aggregated_comments
- aggregated_pin_data
- user_account
- name: Campaign Management
tags:
- ad_accounts
- campaigns
- ad_groups
- ads
- product_group_promotions
- bulk
- name: Targeting
tags:
- audiences
- customer_lists
- keywords
- targeting_template
- audience_insights
- audience_sharing
- name: Ad Formats
tags:
- lead_forms
- lead_ads
- leads_export
- name: Billing
tags:
- billing
- order_lines
- terms_of_service
- name: Business Access
tags:
- business_access_assets
- business_access_invite
- business_access_relationships
- name: Conversions
tags:
- conversion_events
- conversion_tags
- name: Others
tags:
- integrations
- oauth
- resources
- search
- terms
- name: Shopping
tags:
- catalogs
- name: Deprecated
tags:
- product_groups