Skip to main content

Pinterest REST API

Project description

BETA NOTICE: This is BETA software and may have bugs and can be removed without previous notice. It is intended for qualified beta testers only and must not be used in production systems.

This client library is not design to be use directly, instead use ours Pinterest Python SDK

Pinterest Generated Client

Pinterest's REST API

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 5.6.0
  • Package version: 0.1.2
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://developers.pinterest.com/

Requirements.

Python >=3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

Using HTTPS

pip install git+https://github.com/pinterest/pinterest-python-generated-api-client.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/pinterest/pinterest-python-generated-api-client.git)

Using SSH

pip install git+ssh://github.com/pinterest/pinterest-python-generated-api-client.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/pinterest/pinterest-python-generated-api-client.git)

Then import the package:

import pinterest.generated.client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import pinterest.generated.client

Getting Started

Please follow the installation procedure and then run the following:

import time
import pinterest.generated.client
from pprint import pprint
from pinterest.generated.client.api import ad_accounts_api
from pinterest.generated.client.model.ad_account import AdAccount
from pinterest.generated.client.model.ad_account_analytics_response import AdAccountAnalyticsResponse
from pinterest.generated.client.model.ad_account_create_request import AdAccountCreateRequest
from pinterest.generated.client.model.ads_analytics_create_async_request import AdsAnalyticsCreateAsyncRequest
from pinterest.generated.client.model.ads_analytics_create_async_response import AdsAnalyticsCreateAsyncResponse
from pinterest.generated.client.model.ads_analytics_get_async_response import AdsAnalyticsGetAsyncResponse
from pinterest.generated.client.model.ads_analytics_targeting_type import AdsAnalyticsTargetingType
from pinterest.generated.client.model.conversion_report_attribution_type import ConversionReportAttributionType
from pinterest.generated.client.model.error import Error
from pinterest.generated.client.model.granularity import Granularity
from pinterest.generated.client.model.metrics_response import MetricsResponse
from pinterest.generated.client.model.paginated import Paginated
# Defining the host is optional and defaults to https://api.pinterest.com/v5
# See configuration.py for a list of all supported configuration parameters.
configuration = pinterest.generated.client.Configuration(
    host = "https://api.pinterest.com/v5"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure OAuth2 access token for authorization: pinterest_oauth2
configuration = pinterest.generated.client.Configuration(
    host = "https://api.pinterest.com/v5"
)
configuration.access_token = 'YOUR_ACCESS_TOKEN'


# Enter a context with an instance of the API client
with pinterest.generated.client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ad_accounts_api.AdAccountsApi(api_client)
    ad_account_id = "4" # str | Unique identifier of an ad account.
    start_date = dateutil_parser('1970-01-01').date() # date | Metric report start date (UTC). Format: YYYY-MM-DD
    end_date = dateutil_parser('1970-01-01').date() # date | Metric report end date (UTC). Format: YYYY-MM-DD
    columns = [
        "SPEND_IN_DOLLAR",
    ] # [str] | Columns to retrieve, encoded as a comma-separated string. **NOTE**: Any metrics defined as MICRO_DOLLARS returns a value based on the advertiser profile's currency field. For USD,($1/1,000,000, or $0.000001 - one one-ten-thousandth of a cent). it's microdollars. Otherwise, it's in microunits of the advertiser's currency.<br/>For example, if the advertiser's currency is GBP (British pound sterling), all MICRO_DOLLARS fields will be in GBP microunits (1/1,000,000 British pound).<br/>If a column has no value, it may not be returned
    granularity = Granularity("DAY") # Granularity | TOTAL - metrics are aggregated over the specified date range.<br> DAY - metrics are broken down daily.<br> HOUR - metrics are broken down hourly.<br>WEEKLY - metrics are broken down weekly.<br>MONTHLY - metrics are broken down monthly
    click_window_days = 1 # int | Number of days to use as the conversion attribution window for a pin click action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. (optional) (default to 30)
    engagement_window_days = 30 # int | Number of days to use as the conversion attribution window for an engagement action. Engagements include saves, closeups, link clicks, and carousel card swipes. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. (optional) (default to 30)
    view_window_days = 1 # int | Number of days to use as the conversion attribution window for a view action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `1` day. (optional) (default to 1)
    conversion_report_time = "TIME_OF_AD_ACTION" # str | The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event. (optional) (default to "TIME_OF_AD_ACTION")

    try:
        # Get ad account analytics
        api_response = api_instance.ad_account_analytics(ad_account_id, start_date, end_date, columns, granularity, click_window_days=click_window_days, engagement_window_days=engagement_window_days, view_window_days=view_window_days, conversion_report_time=conversion_report_time)
        pprint(api_response)
    except pinterest.generated.client.ApiException as e:
        print("Exception when calling AdAccountsApi->ad_account_analytics: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.pinterest.com/v5

Class Method HTTP request Description
AdAccountsApi ad_account_analytics GET /ad_accounts/{ad_account_id}/analytics Get ad account analytics
AdAccountsApi ad_account_targeting_analytics_get GET /ad_accounts/{ad_account_id}/targeting_analytics Get targeting analytics for an ad account
AdAccountsApi ad_accounts_create POST /ad_accounts Create ad account
AdAccountsApi ad_accounts_get GET /ad_accounts/{ad_account_id} Get ad account
AdAccountsApi ad_accounts_list GET /ad_accounts List ad accounts
AdAccountsApi analytics_create_report POST /ad_accounts/{ad_account_id}/reports Create async request for an account analytics report
AdAccountsApi analytics_get_report GET /ad_accounts/{ad_account_id}/reports Get the account analytics report created by the async call
AdGroupsApi ad_groups_analytics GET /ad_accounts/{ad_account_id}/ad_groups/analytics Get ad group analytics
AdGroupsApi ad_groups_bid_floor_get POST /ad_accounts/{ad_account_id}/bid_floor Get bid floors
AdGroupsApi ad_groups_create POST /ad_accounts/{ad_account_id}/ad_groups Create ad groups
AdGroupsApi ad_groups_get GET /ad_accounts/{ad_account_id}/ad_groups/{ad_group_id} Get ad group
AdGroupsApi ad_groups_list GET /ad_accounts/{ad_account_id}/ad_groups List ad groups
AdGroupsApi ad_groups_targeting_analytics_get GET /ad_accounts/{ad_account_id}/ad_groups/targeting_analytics Get targeting analytics for ad groups
AdGroupsApi ad_groups_update PATCH /ad_accounts/{ad_account_id}/ad_groups Update ad groups
AdsApi ad_previews_create POST /ad_accounts/{ad_account_id}/ad_previews Create ad preview with pin or image
AdsApi ad_targeting_analytics_get GET /ad_accounts/{ad_account_id}/ads/targeting_analytics Get targeting analytics for ads
AdsApi ads_analytics GET /ad_accounts/{ad_account_id}/ads/analytics Get ad analytics
AdsApi ads_create POST /ad_accounts/{ad_account_id}/ads Create ads
AdsApi ads_get GET /ad_accounts/{ad_account_id}/ads/{ad_id} Get ad
AdsApi ads_list GET /ad_accounts/{ad_account_id}/ads List ads
AdsApi ads_update PATCH /ad_accounts/{ad_account_id}/ads Update ads
AudiencesApi audiences_create POST /ad_accounts/{ad_account_id}/audiences Create audience
AudiencesApi audiences_get GET /ad_accounts/{ad_account_id}/audiences/{audience_id} Get audience
AudiencesApi audiences_list GET /ad_accounts/{ad_account_id}/audiences List audiences
AudiencesApi audiences_update PATCH /ad_accounts/{ad_account_id}/audiences/{audience_id} Update audience
BoardsApi board_sections_create POST /boards/{board_id}/sections Create board section
BoardsApi board_sections_delete DELETE /boards/{board_id}/sections/{section_id} Delete board section
BoardsApi board_sections_list GET /boards/{board_id}/sections List board sections
BoardsApi board_sections_list_pins GET /boards/{board_id}/sections/{section_id}/pins List Pins on board section
BoardsApi board_sections_update PATCH /boards/{board_id}/sections/{section_id} Update board section
BoardsApi boards_create POST /boards Create board
BoardsApi boards_delete DELETE /boards/{board_id} Delete board
BoardsApi boards_get GET /boards/{board_id} Get board
BoardsApi boards_list GET /boards List boards
BoardsApi boards_list_pins GET /boards/{board_id}/pins List Pins on board
BoardsApi boards_update PATCH /boards/{board_id} Update board
BulkApi bulk_download_create POST /ad_accounts/{ad_account_id}/bulk/download Get advertiser entities in bulk
BulkApi bulk_request_get GET /ad_accounts/{ad_account_id}/bulk/{bulk_request_id} Download advertiser entities in bulk
BulkApi bulk_upsert_create POST /ad_accounts/{ad_account_id}/bulk/upsert Create/update ad entities in bulk
CampaignsApi campaign_targeting_analytics_get GET /ad_accounts/{ad_account_id}/campaigns/targeting_analytics Get targeting analytics for campaigns
CampaignsApi campaigns_analytics GET /ad_accounts/{ad_account_id}/campaigns/analytics Get campaign analytics
CampaignsApi campaigns_create POST /ad_accounts/{ad_account_id}/campaigns Create campaigns
CampaignsApi campaigns_get GET /ad_accounts/{ad_account_id}/campaigns/{campaign_id} Get campaign
CampaignsApi campaigns_list GET /ad_accounts/{ad_account_id}/campaigns List campaigns
CampaignsApi campaigns_update PATCH /ad_accounts/{ad_account_id}/campaigns Update campaigns
CatalogsApi catalogs_product_group_pins_list GET /catalogs/product_groups/{product_group_id}/products List products
CatalogsApi catalogs_product_groups_create POST /catalogs/product_groups Create product group
CatalogsApi catalogs_product_groups_delete DELETE /catalogs/product_groups/{product_group_id} Delete product group
CatalogsApi catalogs_product_groups_get GET /catalogs/product_groups/{product_group_id} Get product group
CatalogsApi catalogs_product_groups_list GET /catalogs/product_groups List product groups
CatalogsApi catalogs_product_groups_product_counts_get GET /catalogs/product_groups/{product_group_id}/product_counts Get product counts
CatalogsApi catalogs_product_groups_update PATCH /catalogs/product_groups/{product_group_id} Update product group
CatalogsApi feed_processing_results_list GET /catalogs/feeds/{feed_id}/processing_results List processing results for a given feed
CatalogsApi feeds_create POST /catalogs/feeds Create feed
CatalogsApi feeds_delete DELETE /catalogs/feeds/{feed_id} Delete feed
CatalogsApi feeds_get GET /catalogs/feeds/{feed_id} Get feed
CatalogsApi feeds_list GET /catalogs/feeds List feeds
CatalogsApi feeds_update PATCH /catalogs/feeds/{feed_id} Update feed
CatalogsApi items_batch_get GET /catalogs/items/batch/{batch_id} Get catalogs items batch
CatalogsApi items_batch_post POST /catalogs/items/batch Operate on item batch
CatalogsApi items_get GET /catalogs/items Get catalogs items
CatalogsApi items_issues_list GET /catalogs/processing_results/{processing_result_id}/item_issues List item issues for a given processing result
CatalogsApi products_by_product_group_filter_list POST /catalogs/products/get_by_product_group_filters List filtered products
ConversionEventsApi events_create POST /ad_accounts/{ad_account_id}/events Send conversion events to the Pinterest API for Conversions
CustomerListsApi customer_lists_create POST /ad_accounts/{ad_account_id}/customer_lists Create customer lists
CustomerListsApi customer_lists_get GET /ad_accounts/{ad_account_id}/customer_lists/{customer_list_id} Get customer list
CustomerListsApi customer_lists_list GET /ad_accounts/{ad_account_id}/customer_lists Get customer lists
CustomerListsApi customer_lists_update PATCH /ad_accounts/{ad_account_id}/customer_lists/{customer_list_id} Update customer list
KeywordsApi country_keywords_metrics_get GET /ad_accounts/{ad_account_id}/keywords/metrics Get country's keyword metrics
KeywordsApi keywords_create POST /ad_accounts/{ad_account_id}/keywords Create keywords
KeywordsApi keywords_get GET /ad_accounts/{ad_account_id}/keywords Get keywords
KeywordsApi keywords_update PATCH /ad_accounts/{ad_account_id}/keywords Update keywords
MediaApi media_create POST /media Register media upload
MediaApi media_get GET /media/{media_id} Get media upload details
MediaApi media_list GET /media List media uploads
OauthApi oauth_token POST /oauth/token Generate OAuth access token
PinsApi pins_analytics GET /pins/{pin_id}/analytics Get Pin analytics
PinsApi pins_create POST /pins Create Pin
PinsApi pins_delete DELETE /pins/{pin_id} Delete Pin
PinsApi pins_get GET /pins/{pin_id} Get Pin
PinsApi pins_save POST /pins/{pin_id}/save Save pin
ProductGroupPromotionsApi product_group_promotion_get GET /ad_accounts/{ad_account_id}/product_group_promotions/{product_group_promotion_id} Get a product group promotion by id
ProductGroupPromotionsApi product_group_promotions_create POST /ad_accounts/{ad_account_id}/product_group_promotions Create product group promotions
ProductGroupPromotionsApi product_group_promotions_update PATCH /ad_accounts/{ad_account_id}/product_group_promotions Update product group promotions
ProductGroupPromotionsApi product_groups_analytics GET /ad_accounts/{ad_account_id}/product_groups/analytics Get product group analytics
ResourcesApi ad_account_countries_get GET /resources/ad_account_countries Get ad accounts countries
ResourcesApi delivery_metrics_get GET /resources/delivery_metrics Get available delivery metrics' definitions
ResourcesApi interest_targeting_options_get GET /resources/targeting/interests/{interest_id} Get interest details
ResourcesApi metrics_ready_state_get GET /resources/metrics_ready_state Get metrics ready state
ResourcesApi targeting_options_get GET /resources/targeting/{targeting_type} Get targeting options
TermsApi terms_related_list GET /terms/related List related terms
TermsApi terms_suggested_list GET /terms/suggested List suggested terms
TermsOfServiceApi terms_of_service_get GET /ad_accounts/{ad_account_id}/terms_of_service Get terms of service
UserAccountApi user_account_analytics GET /user_account/analytics Get user account analytics
UserAccountApi user_account_analytics_top_pins GET /user_account/analytics/top_pins Get user account top pins analytics
UserAccountApi user_account_analytics_top_video_pins GET /user_account/analytics/top_video_pins Get user account top video pins analytics
UserAccountApi user_account_get GET /user_account Get user account

Documentation For Models

Documentation For Authorization

basic

  • Type: HTTP basic authentication

conversion_token

  • Type: Bearer authentication

pinterest_oauth2

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://www.pinterest.com/oauth/
  • 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.
  • 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

Author

pinterest-api@pinterest.com

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in pinterest.generated.client.apis and pinterest.generated.client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from pinterest.generated.client.api.default_api import DefaultApi
  • from pinterest.generated.client.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import pinterest.generated.client
from pinterest.generated.client.apis import *
from pinterest.generated.client.models import *

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Pinterest Generated Client-0.1.2.tar.gz (292.9 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page