Pipispy API中文

Adspy Detail API

API Information

  • API Name: Get Adspy Detail
  • Request Method: POST
  • API Endpoint: /open-api/v1/data
  • Interface URI: /v3/api/open/adspy/detail
  • Description: Retrieves detailed Adspy information by ad ID
  • Pricing: The base cost is 1 credit per request. A request is free if either condition applies: the same ID was retrieved within the previous 3 days, or the ID appeared in your ranking-list query results within the previous 3 days.

Request Headers:

  • Content-Type: application/json
  • Accept: application/json

Request Parameters

Request Structure

Parameter Type Description Example Required Default
key
string
External API request key assigned to the user
"your_api_key_here"
Yes
uri
string
Interface URI
"/v3/api/open/adspy/detail"
Yes
params
object
Interface parameter object
See the parameter table below
Yes

Parameter List (params Object)

Parameter Type Required Description
id
String
Yes
Unique ad creative identifier. Use the video_id returned by the Adspy List API

Request Example

curl -X POST "https://www.pipispy.com/open-api/v1/data" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "key": "your_api_key_here",
    "uri": "/v3/api/open/adspy/detail",
    "params": {
      "id": "1795208137186337"
    }
  }'

Response Parameters

Response Body Structure

{
  "code": 200,
  "message": "success",
  "data": {},
  "version": "v1",
  "timestamp": null,
  "sign": null,
  "remaining_credits": 9980,
  "consumed_credits": 1,
  "success": true,
  "fail": false
}

Response Fields

Field Type Description
code
Integer
Business status code. 200 indicates success; any other value indicates failure
message
String
Response message. On failure, describes causes such as invalid parameters or missing data
data
Object/null
Adspy detail object. May be null when no matching ad is found
version
String
Open API response version, such as v1
timestamp
Number/null
Gateway response timestamp; null when disabled
sign
String/null
Response signature; null when signature verification is disabled
remaining_credits
Long
Available credits remaining for the API key after this request
consumed_credits
Long
Credits consumed by this request; may be 0 when a free-access condition applies
success
Boolean
Whether the business request succeeded; true on success
fail
Boolean
Whether the business request failed; the inverse of success

Adspy Detail Fields

Field usage notes:

  • All time fields are Unix timestamps in seconds, such as 1752199828. Convert them to the consumer's display time zone as needed.
  • Play, like, comment, share, and favorite metrics are cumulative values from the latest collection and may not match the media platform in real time.
  • URLs may become unavailable because the source ad was removed, regional restrictions apply, or the media platform requires authentication. Consumers should handle access failures.
  • Fields that do not apply to the current platform or creative type may be null, an empty string, an empty array, or omitted. Do not use field presence to determine request success.
  • Union types such as Number/String and Array/String support legacy data. Deserializers should accept all documented types.
Field Type Description
active_status
Number
Ad activity status, consistent with ad_state in the list API. 1 means the ad has been observed recently and may still be running; 0 means it has stopped or no recent delivery has been observed
ad_advertiser
Object/null
Advertiser information. null when no advertiser can be associated; see the nested fields below
ad_create_time
Number
Time the ad was created or first published on the media platform, as a Unix timestamp in seconds
ad_developer
Object/null
Developer associated with the promoted app. null for non-app ads or when no developer is linked
ad_fee
Long
Compatibility metric calculated as play_count / 1000; not the actual media-account spend. Use the CPM estimate fields for the displayed spend range
ad_id
String
Ad ID assigned by the media platform. A creative may have different ad_id and video_id values
ad_shop
Object/null
TikTok Shop associated with the ad. null for non-TikTok-Shop ads
ad_store
Object/null
Website or independent store associated with the landing page. null when no store is identified
aigc_label_type
Number/null
AI-video label. 0 or null means the video is not identified as AI-generated; another value identifies the corresponding AIGC type
ai_analysis
Object/null
AI analysis of the video content. May be null for non-video ads or while analysis is unavailable
app_dev
Object/null
Original app developer data, commonly including id, name, icon, and url
app_image
String
Full URL of the advertiser avatar, TikTok account avatar, or app icon
app_info
Object/null
Details of the promoted app, including its name, rating, downloads, category, and revenue. null for non-app ads
app_name
String
Advertiser name. Usually the account nickname for TikTok and the page or advertiser name for Facebook
app_store
String
App store identifier, such as apple or google; may be empty for non-app ads
app_system
String
App operating system, such as ios or android; may be empty for non-app ads
app_type
String
Type of promoted destination, such as app, game, or web
app_url
String
Landing page, app store page, or product page opened when the user clicks the ad
age_range
Array
Original audience age-range list. Usually empty when unavailable; use audience.age for display
aspect_ratio
String
Normalized creative dimension string. TikTok usually returns widthxheight, such as 576x1024; this is not necessarily a mathematical aspect ratio
ad_category
Array
Original ad category list; usually an empty array when unavailable
audience
Object
Audience overview including reach, regions, ages, genders, and sources
carousel
Array
Creative cards for a carousel ad. Present only when type=3; see the nested fields below
clarity
String/null
Video quality label, such as SD or HD; null when unavailable
collect_count
Number
Cumulative favorite count collected from the media platform; usually 0 when unsupported
comment_count
Number
Cumulative comment count collected from the media platform
content_list
Array
Normalized ad copy, CTA, and landing-page entries. Carousel ads may contain multiple entries
cover
String
Full video cover image URL; may be empty for image ads or when no cover is available
data_type
String/null
String representation of the business-category set, such as "[3,4]". Unlike the list API, this is not a JSON array; see the enumerations below
digg_count
Number
Cumulative like count collected from the media platform
digg_play_rate
Number
Like rate, normally a decimal from 0 to 1; for example, 0.0033 is approximately 0.33%
download_count
Number
Cumulative download count collected from the media platform; usually 0 when unsupported
duration
Number/String
Video duration in seconds. May be an empty string for non-video ads or when unavailable; consumers must support both types
fetch_region
Array/String
Compatibility field. Usually an array of country/region codes when available, or an empty string when absent. Use audience.region for delivery regions
facebook_category
Array/null
Categories assigned by Facebook; usually empty or omitted for non-Facebook ads
facebook_display_format
String
Facebook display format, such as video, image, or carousel; may be empty for non-Facebook ads
facebook_like_info
Array/null
Facebook reaction statistics. Each item contains a reaction type and count; see the nested fields below
facebook_link
String
Facebook ad, post, or Ad Library URL; may be empty for non-Facebook ads
forward_count
Number
Cumulative forward count; normally 0 on platforms that do not provide this metric
found_time
Number
Time PipiAds first discovered the ad, as a Unix timestamp in seconds; not the ad creation time
hot_value
Number
PipiAds popularity metric. A larger value generally indicates greater current engagement
image
String
Full URL of the primary image creative; usually empty for video ads
isSpark
Boolean
Compatibility-derived field inferred from is_ad_fake; it is not definitive proof of the platform's official Spark Ads status and may be omitted when the source flag is unavailable
is_ad_fake
Boolean/null
Ad authenticity classification: true means suspected copied or non-native content, false means not suspected, and null means unclassified
is_collection
Boolean
Whether the account associated with the current API key has saved this ad
is_download
Boolean
Whether the current API key may download this creative; this does not guarantee that the creative URL remains available
label
Object/null
Manual or system category label. null when unlabeled; may contain Chinese and English label names
language
Array
Ad content language codes, such as ["en"] or ["zh-cn"], generally using ISO language codes
last_put_time
Number
Most recent observed delivery time, currently based on modify_time, as a Unix timestamp in seconds
max_cpa
Number/null
Estimated maximum CPA based on PipiAds data and general target-region benchmarks; may contain estimation error and is null when unavailable
max_cpm
Number/null
Estimated maximum CPM based on PipiAds data and general target-region benchmarks; may contain estimation error and is null when unavailable
min_cpa
Number/null
Estimated minimum CPA based on PipiAds data and general target-region benchmarks; may contain estimation error and is null when unavailable
min_cpm
Number/null
Estimated minimum CPM based on PipiAds data and general target-region benchmarks; may contain estimation error and is null when unavailable
modify_time
Number
Most recent time the ad was observed running or its data changed, as a Unix timestamp in seconds
music_id
String
ID of the music or sound used by the TikTok video; may be empty on other platforms
music_name
String
Name of the music or sound used by the TikTok video; may be empty on other platforms
music_url
String
URL of the TikTok video's music or sound resource; may be empty on other platforms
pack_url
String
App package download URL; an empty string when unavailable
platform
Number
Platform: 1 TikTok, 2 Facebook
play_count
Number
Cumulative plays or impressions collected from the media platform; the exact definition varies by platform
popular_person_id
String/null
PipiAds influencer-profile ID associated with the TikTok author; omitted or null when no profile is linked
product_currency
String
Product currency code, such as USD or THB
product_id
String
PipiAds ID of the associated product
product_image
String
Full URL of the associated product's primary image
product_price
String
Product price string, which may contain decimals or a currency symbol; treat it as display text
product_title
String
Name or title of the associated product
publisher_platform
Array
Platforms on which the ad was published, such as ["facebook","instagram"] or ["tiktok"]
put_days
Number
Cumulative number of observed delivery days
resolution
String
Creative resolution, normally widthxheight, such as 540x960
root_path
String
Root domain extracted from the landing page, such as example.com; not a complete URL
root_path_id
String
Unique PipiAds profile ID for the root domain or advertiser
search_by_image_tag
Boolean
Whether image-similarity search is supported for the product image associated with this ad
share_count
Number
Cumulative share count collected from the media platform
size
String/null
Creative aspect-ratio or size label, such as 9:16; null when unavailable
shop_type
String/null
Detected site builder or e-commerce platform, such as Shopify; null when unidentified or not applicable
source
Array
Ad source device or operating system list, such as ["Android"]
tiktok_author
String
TikTok publisher username, corresponding to the name after @ in the profile URL
tiktok_author_url
String
Full URL of the TikTok publisher profile
tiktok_shop
Array
TikTok Shop products attached to the ad. May contain multiple products; see the nested fields below
type
Number
Creative type: 1 video, 2 image, 3 carousel
update_time
Number
Detail update time. TikTok currently uses modify_time; Facebook uses facebook_update_time. Unix timestamp in seconds
url
String
Media-platform post or ad URL. TikTok derives it from the creative ID, while Facebook usually uses facebook_link; differs from external landing-page app_url
url_history
Array
Previously resolved redirect URLs for the landing page; may be used to reconstruct the redirect chain
video_id
String
Unique PipiAds creative ID and the recommended id when calling this API
video_url
String
Full video file URL; present only for video creatives or carousel cards containing video

Field Enumerations

Field Value Description
platform
1
TikTok ad
platform
2
Facebook/Meta ad, potentially published across Facebook, Instagram, and other placements
type
1
Video creative
type
2
Single-image creative
type
3
Carousel creative; see carousel for individual cards
data_type
1
Product or trending-product ad
data_type
2
TikTok Shop ad
data_type
3
Web e-commerce ad
data_type
4
Brand or Spark Ads category
data_type
5
Game ad
data_type
6
App ad
data_type
7
AI app ad
data_type
8
Short-drama app ad
data_type
9
AI web ad
data_type
10
Short-drama web ad

data_type may contain multiple categories. For example, "[2,3,4]" means the ad has TikTok Shop, e-commerce, and brand/Spark Ads attributes.

AI Analysis Fields (ai_analysis Object)

Field Type Description
ai_analysis_language
String
Primary ad language identified by AI, such as en or zh-cn
ai_analysis_human_presenter
String
Whether AI detected a human presenter; returned as a string such as yes, no, true, or false
ai_analysis_main_hook
String
Main marketing hook, opening selling point, or attention-grabbing message extracted by AI
ai_analysis_script
String
Ad script derived from video speech, subtitles, and visual content
ai_analysis_tags
Array
AI-generated topic, product, scenario, and selling-point tags, such as ["#shoes","#sale"]

Audience Fields (audience Object)

Field Type Description
gender
Array
Audience gender list; may contain all, men, or women; empty when unavailable
covered
Number/null
Estimated reach. For TikTok this commonly represents play reach; for Facebook it represents available audience reach
source
Array
Audience source device or operating system list, such as ["Android"]
region
Array
Audience country/region codes, such as ["TH"]
category
Array
Ad or audience-interest categories
age
Array
Age ranges, such as ["25-35","35-45"]
max_data
Object
Summary of the leading Facebook audience region and age range; omitted when detailed audience data is unavailable

Facebook Audience Summary Fields (audience.max_data Object)

Field Type Description
region
String
Country/region code with the highest reach
ragion_rate
Number
Share of reach for the leading region, from 0 to 1; the field name preserves the API's spelling
age
String
Age range with the highest reach
age_rate
Number
Share of reach for the leading age range, from 0 to 1

Content List Fields (content_list Array Items)

Field Type Description
cta
String
Call-to-action text, such as Shop Now, Learn More, or Buy Now
cta_text
String
CTA text for a Facebook carousel card; returned only for some carousel items
caption
String
Facebook ad-card caption or short description
landing_page
String
Landing-page URL opened when the user clicks this content item
title
String
Ad title, app name, or carousel-card title
desc
String
Ad copy, video description, or card body
url_history
Array
Landing-page redirect URLs associated with this content item
link_description
String
Supplementary text displayed below a Facebook ad link

TikTok Shop Fields (tiktok_shop Array Items)

Field Type Description
new_source
Number
Product-source identifier used to distinguish data channels; consumers may preserve it as an opaque value
image
String
Full URL of the TikTok Shop product's primary image
product_id
String
TikTok Shop product ID, uniquely identifying the product on the platform
shop_id
String
ID of the TikTok Shop that owns the product
real_price
String
Current display price, usually including a currency symbol, such as $10.04
original_price
String
List price or price before discount; may be empty when no discount is available
title
String
Full TikTok Shop product title
category_id_list
Array
TikTok Shop category IDs, potentially containing multiple category levels
url
String
Full TikTok Shop product detail URL
sold_count
Number
Cumulative sales displayed on the product page

Associated Object Fields (ad_advertiser, ad_store, ad_shop, and ad_developer Objects)

Field Type Description
id
String/null
Unique ID of the associated object in PipiAds or the relevant media platform
store_id
String/null
Website/store ID associated with the advertiser; returned only by ad_advertiser
name
String/null
Advertiser, website store, TikTok Shop, or app developer name
avatar
String/null
Full URL of the advertiser avatar, store image, or developer icon
link
String/null
Advertiser root domain, store page, or developer page URL

Facebook Reaction Fields (facebook_like_info Array Items)

Field Type Description
count
Number
Cumulative count for the reaction type
id
String
Facebook reaction-type ID; may be empty when the platform provides no ID
localized_name
String
Localized reaction name, such as Like, Love, Wow, Haha, Sad, Angry, or Care

Carousel Creative Fields (carousel Array Items)

Field Type Description
type
Number
Card creative type: 1 video, 2 image
image
String
Creative URL for an image card
video_url
String
Video URL for a video card
cover
String
Cover image URL for a video card
duration
String/Number
Card video duration in seconds; legacy data may return a string
title
String
Card title
body
String
Card body text
caption
String
Short card caption; returned by some Facebook records
cta_text
String
Card call-to-action text
link_url
String
Landing-page URL opened when the card is clicked
link_description
String
Supplementary card link description
url_history
Array
Redirect URL history for the card landing page
aspect_ratio
String
Creative aspect ratio, such as 9:16
quality
String
Creative quality label, such as SD or HD
resolution
String
Creative resolution, such as 1080x1920

App Developer Fields (app_dev Object)

Field Type Description
id
String
Unique app developer ID
name
String
App developer name
icon
String
Full URL of the developer icon or avatar
url
String
Developer page URL in the app store or on the official website

App Information Fields (app_info Object)

Field Type Description
id
String
Unique app ID. The value may be obfuscated and is intended only for linking records within this Open API
name
String
App name displayed in the app store
url
String
App store detail-page URL
icon
String
App icon URL
download
Number
Cumulative downloads or the download count displayed by the app store
app_comment_count
Number
Cumulative app review count
category
Object
App category information; see the nested fields below
rate
Object
App rating information; see the nested fields below
revenue
Object/null
App revenue information; null when unavailable; see the nested fields below
last_month_app_download_count
Number
Estimated downloads during the most recent calendar month
create_time
Number
App record creation time as a Unix timestamp in seconds

App Rating Fields (app_info.rate Object)

Field Type Description
score
Number
Overall app rating
count
Number
Number of users who submitted a rating
rate1
Number
Number of one-star ratings
rate2
Number
Number of two-star ratings
rate3
Number
Number of three-star ratings
rate4
Number
Number of four-star ratings
rate5
Number
Number of five-star ratings

App Category Fields (app_info.category Object)

Field Type Description
id
String
App category ID
name
String
App category name
type
String
Category type or level
app_system
String
Operating system associated with the category, such as ios or android
children
Array
Child categories; each item may contain id, name, type, and app_system

App Revenue Fields (app_info.revenue Object)

Field Type Description
value
Number
Revenue amount
unit
String
Monetary unit; for example, cent means the amount is expressed in cents
currency
String
Currency code, such as USD
type
String
Value type, such as currency

Response Example

{
  "comment_count": 1,
  "forward_count": 0,
  "pack_url": "",
  "source": [
    "Android"
  ],
  "type": 1,
  "resolution": "540x960",
  "ai_analysis": {
    "ai_analysis_language": "zh-cn",
    "ai_analysis_human_presenter": "yes",
    "ai_analysis_main_hook": "What are you secretly filming?",
    "ai_analysis_script": "What are you secretly filming? Thailand's DTV visa can be processed without leaving the country. Approval in as fast as 7 days, starting from just 9,000 yuan. Valid for 5 years, unlimited entries and exits to Thailand, stay up to 180 days per visit. Refunds available upon application. Click the link below to apply now.",
    "ai_analysis_tags": [
      "#DTVVisa",
      "#Thailand",
      "#NoNeedToLeave",
      "#Apply",
      "#ApprovalIn7Days",
      "#From9000Yuan",
      "#5YearValidity",
      "#UnlimitedEntries",
      "#180Days",
      "#RefundAvailable",
      "#LinkBelow",
      "#ApplyNow",
      "#Visa"
    ]
  },
  "cover": "https://cdn-video.pipispy.com/cover_6f730728bdc01d3cdce00223de09fc4f.jpg",
  "max_cpm": 2.4,
  "last_put_time": 1752199828,
  "root_path_id": "682e25abe87d0e8f5818189b",
  "put_days": 2,
  "image": "",
  "audience": {
    "gender": [],
    "covered": 909,
    "source": [
      "Android"
    ],
    "region": [
      "TH"
    ],
    "category": [],
    "age": [
      "35-45"
    ]
  },
  "play_count": 909,
  "ad_create_time": 1751942170,
  "ad_id": "1837044055239874",
  "root_path": "ccddsite88.net",
  "digg_count": 3,
  "content_list": [
    {
      "cta": "Learn More",
      "landing_page": "https://ccddsite88.net/landing-page/thailand/tk/1747707570548/?ttclid=E_C_P_CssBEU5QXACDVfMYNCqcBdOW23Ndidd7knaaqh33vgz0N3--FsUbYw0wC8RfDBrdG6Q0HLWvHnPjwINxzZrvXXozfcERzmjOAnAaD-B-tVEeQ1fnAfs3uWEPeRU9_45T4jl7QSzD1Zi-zQLz4IwgsHo2ssq9veFvzuXZnpw0b6lZcNRonZMSZBRxG-cjyUsRIvMKn-qkMV3Q1kCD2niYVect6n7ZTSrHK8f894b_6_5V7_sD2zGP2hudN80m55zW5hBOeM9tzNMJXreMoIoSBHYyLjA",
      "title": "Starting today, meet these 2 conditions for Thailand DTV, approval in as fast as 7 days, refundable!",
      "desc": "Starting today, meet these 2 conditions for Thailand DTV, approval in as fast as 7 days, refundable!",
      "url_history": []
    }
  ],
  "is_download": false,
  "publisher_platform": [
    "tiktok"
  ],
  "aspect_ratio": "540x960",
  "digg_play_rate": 0.0033,
  "modify_time": 1752199828,
  "min_cpa": 0.0,
  "is_collection": false,
  "platform": 1,
  "duration": 17,
  "update_time": 1752199828,
  "video_url": "https://cdn-video.pipispy.com/video_1cd71dc2169dd279821b1ba4736d4e19.mp4",
  "tiktok_author_url": "https://www.tiktok.com/@ThailandDTV",
  "ad_fee": 0,
  "min_cpm": 0.6,
  "app_url": "https://ccddsite88.net/landing-page/thailand/tk/1747707570548/?ttclid=E_C_P_CssBEU5QXACDVfMYNCqcBdOW23Ndidd7knaaqh33vgz0N3--FsUbYw0wC8RfDBrdG6Q0HLWvHnPjwINxzZrvXXozfcERzmjOAnAaD-B-tVEeQ1fnAfs3uWEPeRU9_45T4jl7QSzD1Zi-zQLz4IwgsHo2ssq9veFvzuXZnpw0b6lZcNRonZMSZBRxG-cjyUsRIvMKn-qkMV3Q1kCD2niYVect6n7ZTSrHK8f894b_6_5V7_sD2zGP2hudN80m55zW5hBOeM9tzNMJXreMoIoSBHYyLjA",
  "fetch_region": "",
  "max_cpa": 1.0,
  "url": "https://m.tiktok.com/v/7524534322666228999.html",
  "collect_count": 1,
  "download_count": 0,
  "share_count": 0,
  "tiktok_author": "ThailandDTV",
  "app_name": "ThailandDTV",
  "active_status": 1,
  "hot_value": 4,
  "data_type": "[4]",
  "url_history": [],
  "video_id": "496b74d6a6135f80c17d",
  "app_image": "https://cdn-video.pipispy.com/avatar_5eabd0708ef037d43a4377d740ae2c53.jpg"
}

Error Codes

Error Code Description
200
Request processed successfully. Also check whether data is null; data=null means no matching ad was found
400
Invalid request parameters, such as a missing, empty, or unsupported params.id
404
Some gateways or legacy versions may return this code when the ad does not exist. Consumers should also support 200 with data=null
500
Internal service or dependency error. Record message and use a limited retry strategy with backoff