API REFERENCE
Single Product Store List API
GET
/open-api/v1/shop/single-product-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/single-product-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 | Store URL(s). Separate multiple values with commas ",". |
| tags
query · optional
| string | Tag(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 order date (start). Format: Y-m-d (e.g., 2025-01-01). |
| last_sold_at_end
query · optional
| string | Latest order date (end). Format: Y-m-d (e.g., 2025-01-01). |
| month_visits_start
query · optional
| integer | Monthly visits (minimum) |
| month_visits_end
query · optional
| integer | Monthly visits (maximum) |
| published_products_count_start
query · optional
| integer | Product count per store (minimum) |
| published_products_count_end
query · optional
| integer | Product count per store (maximum) |
| language
query · optional
| string | Store language(s). Separate multiple values with commas ",". |
| country
query · optional
| string | Store region(s). Separate multiple values with commas ",". |
| last_product_published_at_start
query · optional
| string | Latest product creation date (start). Format: Y-m-d (e.g., 2025-01-01). |
| last_product_published_at_end
query · optional
| string | Latest product creation date (end). Format: Y-m-d (e.g., 2025-01-01). |
| first_product_published_at_start
query · optional
| string | Store creation date (start). Format: Y-m-d (e.g., 2025-01-01). |
| first_product_published_at_end
query · optional
| string | Store creation date (end). Format: Y-m-d (e.g., 2025-01-01). |
| currency
query · optional
| string | Store currency/currencies. Separate multiple values with commas ",". |
| social_media
query · optional
| string | Social media platform(s). Separate multiple values with commas ",". Options: facebook, instagram, tiktok, twitter, pinterest, youtube. |
| themes
query · optional
| string | Search stores by theme name |
| app
query · optional
| string | Search stores by installed apps |
| pixel_text
query · optional
| string | Search stores by pixel name/ID |
| 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: last_sold_at, published_products_count, last_product_published_at, first_product_published_at, month_visits, monthly_sale, monthly_revenue. |
| direction
query · optional
| string | Sort direction. Options: desc (descending), asc (ascending). |
| description
query · optional
| string | Store description(s). Separate multiple values with commas ",". |
| title
query · optional
| string | Store title(s). Separate multiple values with commas ",". |
| exclude_title
query · optional
| string | Exclude store title(s). Separate multiple values with commas ",". |
| exclude_url
query · optional
| string | Exclude store URL(s). Separate multiple values with commas ",". |
| exclude_description
query · optional
| string | Exclude store description(s). Separate multiple values with commas ",". |
| monthly_sale_start
query · optional
| integer | Monthly sales (minimum) |
| monthly_sale_end
query · optional
| integer | Monthly sales (maximum) |
| monthly_revenue_start
query · optional
| number | Monthly revenue in USD (minimum) |
| monthly_revenue_end
query · optional
| number | Monthly revenue in USD (maximum) |
| 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": "请求成功",
"data": {
"data": [
{
"id": 8064761971,
"name": "Babylist",
"url": "https:\/\/checkout.babylist.com",
"domain": "checkout.babylist.com",
"tags": [
"showroom",
"return",
"gift",
"card"
],
"currency": "USD",
"category_tags": [],
"ads_platforms": [
"facebook"
],
"user_collected": 0,
"product": {
"id": 7178069409907,
"created_at": 1689956748,
"updated_at": 1754974481,
"images": [],
"price": 25,
"price_usd": 25,
"monthly_sale": 6391,
"monthly_revenue": 159775,
"monthly_revenue_usd": 159775
}
},
{
"id": 79513387341,
"name": "vivanmn",
"url": "https:\/\/vivanmn.com",
"domain": "vivanmn.com",
"tags": [
"pure",
"nmn",
"500mg",
"capsules"
],
"currency": "GBP",
"category_tags": [],
"ads_platforms": [
"tiktok"
],
"user_collected": 0,
"product": {
"id": 8764586066253,
"created_at": 1702370237,
"updated_at": 1754715901,
"images": [
"https:\/\/cdn.shopify.com\/s\/files\/1\/0795\/1338\/7341\/files\/NMNSide2_7_0a790628-a6ee-47d3-a1bc-5caacbe4370f.png?v=1712346641"
],
"price": 29.99,
"price_usd": 40.27,
"monthly_sale": null,
"monthly_revenue": null,
"monthly_revenue_usd": null
}
}
],
"last_page": 5139,
"current_page": 1,
"total": 102772,
"per_page": 20
},
"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 payload |
| »» data | [object] | true | none | Data list |
| »»» id | integer | true | none | Store ID |
| »»» name | string | true | none | Store name |
| »»» url | string | true | none | Store URL |
| »»» domain | string | true | none | Store domain |
| »»» tags | [string] | true | none | Store tags |
| »»» user_collected | integer | true | none | Bookmark status |
| »»» currency | string | true | none | Store currency |
| »»» ads_platforms | [string] | true | none | Ad platforms |
| »»» product | object | true | none | Product info |
| »»»» id | integer | true | none | Product ID |
| »»»» created_at | integer | true | none | Creation time |
| »»»» updated_at | integer | true | none | Last order time |
| »»»» images | [string] | true | none | Product images |
| »»»» price | number | true | none | Price |
| »»»» price_usd | number¦null | true | none | Price (USD) |
| »»»» monthly_sale | integer¦null | true | none | Monthly sales |
| »»»» monthly_revenue | number¦null | true | none | Monthly revenue |
| »»»» 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 |
