API REFERENCE
Shopify Product List API
GET
/open-api/v1/productEach 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/product' \
--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 |
|---|---|---|
| title
query · optional
| string | Product title. Separate multiple values with commas ",". |
| url
query · optional
| string | Store URL. Separate multiple values with commas ",". |
| pixel
query · optional
| string | Ad platform. Separate multiple values with commas ",". Options: snap, tiktok, pinterest. |
| country
query · optional
| string | Store region(s). Separate multiple values with commas ",". |
| created_at_start
query · optional
| string | Creation time (start). Format: Y-m-d, e.g., 2025-01-01. |
| created_at_end
query · optional
| string | Creation time (end). Format: Y-m-d, e.g., 2025-01-01. |
| updated_at_start
query · optional
| string | Latest order time (start). Format: Y-m-d, e.g., 2025-01-01. |
| updated_at_end
query · optional
| string | Latest order time (end). Format: Y-m-d, e.g., 2025-01-01. |
| price_start
query · optional
| number | Price range (start) |
| price_end
query · optional
| number | Price range (end) |
| currency
query · optional
| string | Store currency. Separate multiple values with commas ",". |
| language
query · optional
| string | Store language(s). Separate multiple values with commas ",". |
| is_bestselling
query · optional
| integer | Bestseller flag. 1=Yes, 0=No |
| order_by
query · optional
| string | Sort field. Options: updated_at, created_at, published_products_count, price, monthly_sale, monthly_revenue |
| direction
query · optional
| string | Sort direction. Options: desc (descending), asc (ascending). |
| page
query · optional
| integer | Page number (min: 1). |
| per_page
query · optional
| integer | Items per page. Range: 1-100. |
| published_products_count_start
query · optional
| integer | Store product count (min) |
| published_products_count_end
query · optional
| integer | Store product count (max) |
| shop_id
query · optional
| string | Store ID |
| category_id
query · optional
| integer | Product Category ID. Separate multiple values with commas ",". |
| monthly_sale_start
query · optional
| string | Monthly sales (min) |
| monthly_sale_end
query · optional
| integer | Monthly sales (max) |
| monthly_revenue_start
query · optional
| number | Monthly revenue (min) |
| monthly_revenue_end
query · optional
| number | Monthly revenue (max) |
| exclude_title
query · optional
| string | Exclude product titles. Separate multiple values with commas ",". |
| exclude_url
query · optional
| string | Exclude store URLs. Separate multiple values with commas ",". |
| category_tags
query · optional
| string | Product types. 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": 7658016374828,
"shop_id": 63175819308,
"images": [
"https://cdn.shopify.com/s/files/1/0631/7581/9308/files/PXL_20231221_062347601.PORTRAIT.jpg?v=1719914829",
"https://cdn.shopify.com/s/files/1/0631/7581/9308/files/PXL_20231221_062519768.PORTRAIT.jpg?v=1719914829"
],
"title": "Sienna Striped Mugs",
"price": 1500,
"created_at": 1719914783,
"updated_at": 1752949914,
"handle": "sienna-striped-mugs",
"category_id": "62739b6038365b2f72048ec1",
"monthly_sale": null,
"monthly_revenue": null,
"price_usd": 17.41,
"category": {
"id": "62739b6038365b2f72048ec1",
"name_en": "Home & Garden",
"name_zh": "家居和园艺"
},
"shop": {
"id": 63175819308,
"name": "Asyouwish",
"url": "https://asyouwish.co.in",
"domain": "asyouwish.co.in",
"myshopify_domain": "3fc80a-ab.myshopify.com",
"currency": "INR",
"category_tags": [],
"ads_platforms": []
},
"user_collected": 0,
"monthly_revenue_usd": 0
},
{
"id": 7660239552556,
"shop_id": 63175819308,
"images": [
"https://cdn.shopify.com/s/files/1/0631/7581/9308/files/PhotofromDee_28.jpg?v=1720024435",
"https://cdn.shopify.com/s/files/1/0631/7581/9308/files/IMG-20230124-WA0028_2.jpg?v=1720024435"
],
"title": "Agate Photo Frame",
"price": 3500,
"created_at": 1720024521,
"updated_at": 1752949914,
"handle": "agate-photo-frame",
"category_id": "62739bd238365b2f72048ed0",
"monthly_sale": null,
"monthly_revenue": null,
"price_usd": 40.62,
"category": {
"id": "62739bd238365b2f72048ed0",
"name_en": "Jewelry & Accessories",
"name_zh": "珠宝首饰及配饰"
},
"shop": {
"id": 63175819308,
"name": "Asyouwish",
"url": "https://asyouwish.co.in",
"domain": "asyouwish.co.in",
"myshopify_domain": "3fc80a-ab.myshopify.com",
"currency": "INR",
"category_tags": [],
"ads_platforms": []
},
"user_collected": 0,
"monthly_revenue_usd": 0
}
],
"last_page": 297513503,
"current_page": 1,
"total": 595027005,
"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 | Business status code |
| » message | string | true | none | Response message |
| » data | object | true | none | Response data |
| »» data | [object] | true | none | Data list |
| »»» id | integer | true | none | Product ID |
| »»» handle | string | true | none | Product handle |
| »»» shop_id | integer | true | none | Store ID |
| »»» images | [string] | true | none | Product image URLs |
| »»» title | string | true | none | Product title |
| »»» price | number | true | none | Price |
| »»» created_at | integer | true | none | Creation timestamp |
| »»» updated_at | integer | true | none | Last order timestamp |
| »»» shop | object | true | none | Store info |
| »»»» id | integer | true | none | Store ID |
| »»»» name | string | true | none | Store name |
| »»»» url | string | true | none | Store URL |
| »»»» domain | string | true | none | Store domain |
| »»»» myshopify_domain | string | true | none | Shopify domain |
| »»»» currency | string | true | none | Currency |
| »»»» ads_platforms | [string] | true | none | Ad platforms |
| »»»» category_tags | [integer]¦null | true | none | Product types |
| »»» user_collected | integer | true | none | Collection status: 0-Not collected, 2-Collected |
| »»» category | object | true | none | Category |
| »»»» id | string | true | none | Category ID |
| »»»» name_en | string | true | none | Category name (English) |
| »»»» name_zh | string | true | none | Category name (Chinese) |
| »»» monthly_sale | integer¦null | true | none | Monthly sales |
| »»» monthly_revenue | number¦null | true | none | Monthly revenue |
| »»» price_usd | number¦null | true | none | Price (USD) |
| »»» monthly_revenue_usd | number¦null | true | none | Monthly revenue (USD) |
| »»» url | string | true | none | Product URL |
| »» 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 |
