API REFERENCE
Shop Traffic List API
GET
/open-api/v1/shop/traffic-shopEach record retrieved deducts
1 credits·api.ppspy.comData and monitoring usage rules
Points Consumption Rules: 1. Retrieving a Shopify data result consumes 1 data, while retrieving an ad library data result consumes 2 data. Retrieving additional data details for a data result does not consume data. 2. Ad monitoring and sales monitoring: Each monitoring session costs $1/month. Each monitoring session is valid for one month and automatically expires after one month. Deleting a monitoring session does not restore the monitoring session, so please delete with caution. Monitoring sessions can be accessed at any time and are unlimited.
Request headers
AUTHORIZATION
Authorization: {API Key}CONTENT-TYPE
application/jsonACCEPT
application/jsonRequest example
cURL
curl --location --request GET 'https://api.ppspy.com/open-api/v1/shop/traffic-shop' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: {API Key}' Request parameters
Pass each parameter in its specified location.
| Parameter | Type | Description |
|---|---|---|
| url
query · optional
| string | Shop URL(s). Separate multiple values with commas ",". |
| pixel
query · optional
| string | Ad platform(s). Separate multiple values with commas ",". Options: snap, tiktok, pinterest. |
| last_sold_at_start
query · optional
| string | Latest sale date (start). Format: Y-m-d, e.g., 2025-01-01. |
| last_sold_at_end
query · optional
| string | Latest sale date (end). Format: Y-m-d, e.g., 2025-01-01. |
| month_visits_start
query · optional
| integer | Monthly visits (min value). |
| month_visits_end
query · optional
| integer | Monthly visits (max value). |
| published_products_count_start
query · optional
| integer | Product count (min value). |
| published_products_count_end
query · optional
| integer | Product count (max value). |
| language
query · optional
| string | Shop language. Separate multiple values with commas ",". |
| country
query · optional
| string | Shop region. Separate multiple values with commas ",". |
| last_product_published_at_start
query · optional
| string | Latest product publish date (start). Format: Y-m-d, e.g., 2025-01-01. |
| last_product_published_at_end
query · optional
| string | Latest product publish date (end). Format: Y-m-d, e.g., 2025-01-01. |
| first_product_published_at_start
query · optional
| string | Shop creation date (start). Format: Y-m-d, e.g., 2025-01-01. |
| first_product_published_at_end
query · optional
| string | Shop creation date (end). Format: Y-m-d, e.g., 2025-01-01. |
| currency
query · optional
| string | Shop currency. Separate multiple values with commas ",". |
| page
query · optional
| integer | Page number (min: 1). |
| per_page
query · optional
| integer | Items per page (range: 1-100). |
| order_by
query · optional
| string | Sort field. Options: direct, mail, paid_referrals, referrals, search, social, growth, growth_rate, month_visits, monthly_revenue. |
| direction
query · optional
| string | Sort direction. Options: desc (descending), asc (ascending). |
| description
query · optional
| string | Shop description(s). Separate multiple values with commas ",". |
| title
query · optional
| string | Shop title(s). Separate multiple values with commas ",". |
| exclude_title
query · optional
| string | Exclude shop title(s). Separate multiple values with commas ",". |
| exclude_url
query · optional
| string | Exclude shop URL(s). Separate multiple values with commas ",". |
| exclude_description
query · optional
| string | Exclude shop description(s). Separate multiple values with commas ",". |
| monthly_sale_start
query · optional
| integer | Monthly sales (min value). |
| monthly_sale_end
query · optional
| integer | Monthly sales (max value). |
| monthly_revenue_start
query · optional
| number | Monthly revenue in USD (min value). |
| monthly_revenue_end
query · optional
| number | Monthly revenue in USD (max value). |
| direct_start
query · optional
| number | Direct traffic % (min). Range: 0-1 (0% to 100%). |
| direct_end
query · optional
| number | Direct traffic % (max). Range: 0-1 (0% to 100%). |
| mail_start
query · optional
| number | Mail traffic % (min). Range: 0-1 (0% to 100%). |
| mail_end
query · optional
| number | Mail traffic % (max). Range: 0-1 (0% to 100%). |
| paid_referrals_start
query · optional
| number | Display ads traffic % (min). Range: 0-1 (0% to 100%). |
| paid_referrals_end
query · optional
| number | Display ads traffic % (max). Range: 0-1 (0% to 100%). |
| referrals_start
query · optional
| number | Referral traffic % (min). Range: 0-1 (0% to 100%). |
| referrals_end
query · optional
| number | Referral traffic % (max). Range: 0-1 (0% to 100%). |
| search_start
query · optional
| number | Search traffic % (min). Range: 0-1 (0% to 100%). |
| search_end
query · optional
| number | Search traffic % (max). Range: 0-1 (0% to 100%). |
| social_start
query · optional
| number | Social traffic % (min). Range: 0-1 (0% to 100%). |
| social_end
query · optional
| number | Social traffic % (max). Range: 0-1 (0% to 100%). |
| growth_start
query · optional
| integer | Traffic growth (min value). |
| growth_end
query · optional
| integer | Traffic growth (max value). |
| growth_rate_start
query · optional
| number | Traffic growth rate % (min). Range: 0-1 (0% to 100%). |
| growth_rate_end
query · optional
| number | Traffic growth rate % (max). Range: 0-1 (0% to 100%). |
| category_tags
query · optional
| string | Product type(s). Separate multiple values with commas ",". Options: 1-Dropshipping, 2-Print on demand (POD), 3-Cash/collect on delivery (COD), 4-Digital products. |
Response example
Response · JSON
{
"code": 200,
"message": "success",
"data": {
"data": [
{
"id": 51071713450,
"name": "BloomChic",
"web_snapshot": "https://web-screenshot.ppspy.com/shopify/123.jpeg",
"url": "https://bloomchic.com",
"domain": "bloomchic.com",
"tags": [
"pocket",
"dress",
"solid",
"neck",
"sleeve",
"ruffle",
"floral",
"button",
"hem",
"v"
],
"month_visits": 1152049,
"last_sold_at": 1678860714,
"country": "HK",
"monthly_sale": 67521,
"monthly_revenue": 1800201.3,
"published_products_count": 4890,
"currency": "USD",
"category_tags": null,
"user_collected": 0,
"growth": -113490,
"growth_rate": -0.0897,
"bounce_rate": 0.3438168040011765,
"traffic_sources": {
"Mail": 0.02260848470151113,
"Direct": 0.4751189773580862,
"Search": 0.18168899075150327,
"Social": 0.2366663899874296,
"Referrals": 0.010025684541017647,
"Paid Referrals": 0.0738914726604522
},
"estimated_monthly_visits_list": [
{
"date": "2022-12-01",
"value": 1619796
},
{
"date": "2023-01-01",
"value": 1265539
},
{
"date": "2023-02-01",
"value": 1152049
}
],
"top_country_shares": [
{
"value": 0.7338776021052733,
"country": 840,
"two_code": "US"
},
{
"value": 0.09193735327006752,
"country": 124,
"two_code": "CA"
},
{
"value": 0.05230801973565279,
"country": 826,
"two_code": "GB"
},
{
"value": 0.021218671670495334,
"country": 36,
"two_code": "AU"
},
{
"value": 0.019929043821990625,
"country": 276,
"two_code": "DE"
}
],
"monthly_revenue_usd": 1800201.3
},
{
"id": 1566146,
"name": "Gymshark US",
"web_snapshot": null,
"url": "https://www.gymshark.com",
"domain": "www.gymshark.com",
"tags": [
"gymshark",
"black",
"seamless",
"t",
"shirt",
"grey",
"shorts",
"sport",
"marl",
"blue"
],
"month_visits": null,
"last_sold_at": 1678449318,
"country": "US",
"monthly_sale": 54438,
"monthly_revenue": 1911258.8,
"published_products_count": 2234,
"currency": "USD",
"category_tags": null,
"user_collected": 0,
"growth": 0,
"growth_rate": 0,
"bounce_rate": 0,
"traffic_sources": {},
"estimated_monthly_visits_list": [],
"top_country_shares": [],
"monthly_revenue_usd": 1911258.8
}
],
"last_page": 428994,
"current_page": 1,
"total": 857987,
"per_page": 2
},
"credits": {
"remaining_credits": 745,
"consumed_credits": 0,
"total_credits": 745
}
}
Example data from the existing documentation
Response structure
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
| code | integer | true | none | Status Code |
| » message | string | true | none | Response message |
| » data | object | true | none | Response data |
| »» data | [object] | true | none | Data list |
| »»» id | integer | true | none | Shop ID |
| »»» country | string | true | none | Shop region |
| »»» name | string | true | none | Merchant name |
| »»» web_snapshot | string | null | true | none | Website snapshot |
| »»» url | string | true | none | Shop URL |
| »»» domain | string | true | none | Shop domain |
| »»» tags | [string] | true | none | Shop tags |
| »»» month_visits | integer | null | true | none | Monthly visits |
| »»» user_collected | integer | false | none | Bookmark status |
| »»» last_sold_at | integer | null | true | none | Latest sale time |
| »»» monthly_sale | integer | null | true | none | Monthly sales |
| »»» monthly_revenue | number | null | true | none | Monthly revenue |
| »»» published_products_count | integer | true | none | Product count |
| »»» currency | string | true | none | Shop currency |
| »»» growth | integer | null | true | none | Traffic growth |
| »»» growth_rate | number | null | true | none | Traffic growth rate |
| »»» bounce_rate | number | null | true | none | Bounce rate |
| »»» traffic_sources | object | null | true | none | Traffic source breakdown |
| number | null | false | none | Range: 0-1 (0% to 100%). | |
| »»»» Direct | number | null | false | none | Range: 0-1 (0% to 100%). |
| »»»» Search | number | null | false | none | Range: 0-1 (0% to 100%). |
| »»»» Social | number | null | false | none | Range: 0-1 (0% to 100%). |
| »»»» Referrals | number | null | false | none | Range: 0-1 (0% to 100%). |
| »»»» Paid Referrals | number | null | false | none | Range: 0-1 (0% to 100%). |
| »»» estimated_monthly_visits_list | [object] | true | none | Monthly visits trend |
| »»»» date | string | true | none | Date |
| »»»» value | integer | true | none | Visits |
| »»» top_country_shares | [object] | null | true | none | Top traffic countries |
| »»»» value | number | true | none | Traffic % |
| »»»» country | integer | true | none | Country code |
| »»»» two_code | string | true | none | Country abbreviation |
| »»» monthly_revenue_usd | number | null | true | none | Monthly revenue (USD) |
| »» last_page | integer | true | none | Last page number |
| »» current_page | integer | true | none | Current page number |
| »» total | integer | true | none | Total records |
| »» per_page | integer | true | none | Items per page |
| » credits | object | true | none | Credits information |
| »» remaining_credits | integer | true | none | Remaining credits |
| »» consumed_credits | integer | true | none | Consumed credits |
| »» total_credits | integer | true | none | Total credits |
