Method | Use cases | Caveats | Endpoints |
|---|---|---|---|
Pinterest returns requested data immediately in the response to your API call. | Quick, small data requests such as:
Real-time dashboards or UI widgets that display up-to-the-minute metrics and require instant feedback. Testing and debugging to verify that your request and data formatting are correct. | Limits on the amount of data you can request, such as row or date range restrictions. Large requests may fail or be truncated. Timeout risk if the query takes too long due to data volume or complexity, resulting in errors or incomplete data. Resource strain and exceeded rate limits, especially with multiple or frequent sync requests. Unsuitability for automation or scheduled, large-scale reporting. | |
Pinterest processes your request in the background and provides a URL to download the data once it is ready. | Large or complex datasets that may take time to process, such as all campaign data for the past year. Scheduling or automation, such as for nightly, weekly, or monthly reporting jobs that can run in the background and be retrieved when ready. Avoiding timeouts and failures when data volume or processing time could exceed HTTP timeout limits. | Operational complexity:
Delayed results, as report generation can take minutes or longer for large jobs. Job expiry, where some platforms only retain completed reports available for a limited time, requiring you to download them promptly. Error handling for job failures, partial data, or incomplete jobs. | To request a report and specify the information in it: To download the report when it is ready: |
Bulk Pinterest provides entire datasets, such as all ad performance data for an account, in a single or batched file, sometimes in compressed formats. | Data warehousing and analytics, when you need to ingest large amounts of historical or raw data. Data export for migration, backup, or compliance purposes. Advanced, custom analysis on large datasets, for which multiple, smaller API calls would be impractical. | Very large files that may be hundreds of megabytes or more, requiring significant bandwidth, storage, and processing power. Potential data staleness, as bulk data is often updated less frequently and may not reflect the most recent activity. Parsing and processing time and overhead, such as the need for Extract, Transform, Load (ETL) pipelines. Limited filtering and customization, where you get all the data, even if you only need a subset. Security and compliance concerns, where handling large exports of sensitive data increases your responsibility for data protection. Rate limits causing timeouts with large datasets, which could necessitate measures such as chunking requests by date. | To request an asynchronous bulk report: To download the bulk report when it is ready: |
display_namenamecategorydefinitiondisplay_nameCLICKTHROUGH_2Earned Pin clicks{ "name": "CLICKTHROUGH_2", "category": "ADS", "definition": "Total number of Pin clicks from ads saved to another person's board", "display_name": "Earned Pin clicks" }
_1_2SPEND_IN_MICRO_DOLLARTOTAL_CONVERSIONSTOTAL_CONVERSIONS_QUANTITYTOTAL_CONVERSIONS_VALUE_IN_MICRO_DOLLARTOTAL_CLICK_CHECKOUTcheckoutTOTAL_VIEW_CHECKOUTcheckoutTOTAL_ENGAGEMENT_CHECKOUT_QUANTITYcheckoutTOTAL_VIEW_ADD_TO_CART_VALUE_IN_MICRO_DOLLARadd to cartTOTAL_VIEW_CATEGORY_MOBILE_ACTION_TO_DESKTOP_CONVERSIONview categoryTOTAL_ADD_TO_CART_MOBILE_ACTION_TO_DESKTOP_CONVERSIONadd to cartad_account_idstart_dateend_datecolumnsgranularityclick_window_daysengagement_window_daysview_window_daysconversion_report_timetargeting_specad_account_idcampaign_idsad_group_idsad_idsstart_dateend_datetargeting_typescolumnsgranularityclick_window_daysengagement_window_daysview_window_daysconversion_report_timeattribution_typesINDIVIDUALHOUSEHOLDtargeting_type{ "targeting_type": "LOCATION", "targeting_value": "500", "metrics": { "AD_GROUP_ID": "1234567891234", "SPEND_IN_MICRO_DOLLAR": 224113022 } }
LOCATIONcurl --location --request GET 'https://api.pinterest.com/resources/targeting/LOCATION?' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <Add your token here>' \
... "500": "U.S.: Portland-Auburn", "501": "U.S.: New York", "502": "U.S.: Binghamton", "503": "U.S.: Macon", "504": "U.S.: Philadelphia", "505": "U.S.: Detroit", "506": "U.S.: Boston (Manchester)", "507": "U.S.: Savannah", ... "AR": "Argentina", "AU": "Australia", "AT": "Austria", "BE": "Belgium", "BR": "Brazil", "CA": "Canada", "CL": "Chile", ...
GEOcurl --location --request GET 'https://api.pinterest.com/resources/targeting/GEO?' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <Add your token here>' \
... "547": { "country": "US", "name": "Toledo" }, "548": { "country": "US", "name": "West Palm Beach-Ft. Pierce" }, "549": { "country": "US", "name": "Watertown" }, ... "IT": { "country": "Italy", "regions": { "IT-23": { "country": "IT", "name": "Province of valle d'aosta" }, "IT-36": { "country": "IT", "name": "Friuli Venezia Giulia" }, ... "UST": { "country": "U.S. Territories", "regions": { "US-PR": { "country": "UST", "name": "Puerto Rico" }, "US-VI": { "country": "UST", "name": "Virgin Islands" ...
truefalsead_account_idaudience_insight_typeYOUR_TOTAL_AUDIENCEYOUR_ENGAGED_AUDIENCEPINTEREST_TOTAL_AUDIENCEcategorieskeynametravelratioindexiddemographicsageskeyname18-2425-34ratiogenderskeynameMaleFemaleUnspecified & customratiodeviceskeynameiPhoneiPadAndroid MobileratiometroskeynameLos AngelesNew YorkratiocountrieskeynameUnited StatesMexicoratiotypedatesizesize_is_upper_boundtruefalse