Competitor Price Tracking API - Daily Price and Stock History
Pricing
$8.00 / 1,000 price history record returneds
Competitor Price Tracking API - Daily Price and Stock History
Competitor price tracking for your own products: daily price history with every competitor domain's price and stock status, your own price and price position, cheapest competitor and price gap, plus product feed settings, from the PriceShape REST API. Read only. Bring your own key.
Pricing
$8.00 / 1,000 price history record returneds
Rating
0.0
(0)
Developer
Nabeel Hassan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Export the daily competitor price and stock history your pricing account already tracks: one row per product per day with your own price, your price position and every competitor domain's price and stock, ready for a warehouse, a spreadsheet or a repricing rule.
What it collects
- Competitor price and stock history: for each product you give (by UPI), every day in the period with your own sales price including and excluding VAT, your price position among competitors, and each matched competitor domain's scraped price, currency, stock status and the time that price or stock last changed.
- Computed on every row: number of competitors, number in stock, cheapest competitor domain and price, highest competitor price, and your price gap to the cheapest competitor in percent.
- Two granularities: one row per product per day with competitors nested, or one flat row per competitor price per day for charting.
- Product feeds: every feed your token can read, with its feed id, name, region, currency, UPI type (GTIN, SKU, MPN, id or URL), VAT settings, marketplace, variant options and import times. Any password or token embedded in a feed's source URL is removed before the row is written.
- Filters: date range and timezone sent to the provider, plus competitor domain and in-stock filters applied to the answer.
- Read only, pay per result, bring your own key.
Input
| Field | What it does |
|---|---|
| What to read | Product feeds (default, needs nothing else), competitor price and stock history, or one product feed by id. |
| Product UPIs or feed ids | One per line. Product UPIs for price history, feed ids for one product feed. |
| Feed id | Price history: the feed the products belong to. Required there. |
| From date / To date | Price history: the period, as YYYY-MM-DD. Defaults to the provider's own window. |
| Timezone | Price history: IANA timezone of the period. |
| One row per | Price history: product per day, or competitor price per day. |
| Only these competitor domains | Price history: keep only these competitor domains. |
| Competitors in stock only | Price history: keep only in-stock competitor prices. |
| Draft feeds | Product feeds: active feeds or draft feeds. |
| Maximum results | Row cap for the run. |
| Requests per minute | Pacing for calls to the provider. |
| API token | Your own token, as a secret input. |
| API version | The X-API-Version header, 2026-02 by default. |
FAQ
What is a competitor price tracking API used for?
Getting competitor prices out of a pricing tool and into the systems that act on them. An ecommerce pricing team loads yesterday's history for its whole catalogue into BigQuery or Snowflake each morning and tracks its price gap to the cheapest shop per product. A category manager charts one product's price against Amazon, Zalando or a local competitor over 90 days. A merchandiser checks which competitors went out of stock on a best seller before raising its price. A repricing script reads the cheapest in-stock competitor per product.
Which data source does this actor read?
The PriceShape REST API at api.priceshape.io, through the three read routes documented publicly at docs.priceshape.io: List feeds (GET /feeds), Get a feed (GET /feeds/{priceshapeId}) and Get product history (GET /products/history/{upi}). It reads the products and competitor matches already set up in your own account; it does not add products, find new competitors or trigger scrapes.
Do I need an API key?
Yes. This actor is bring-your-own-key and never ships one. Generate an API token under account settings on the API page of your provider portal, with read permission for feeds and for products, and paste it into the input or set it once as the DATA_API_KEY environment secret. A missing token, a refused token or a token without the needed permission ends the run cleanly with a message saying which it was.
How do I find the feed id and product UPIs?
Run the product feeds service first. Each feed row carries its feed id (feedId, the provider's priceshapeId) and its UPI type, which tells you whether products are identified by GTIN, SKU, MPN, your own id or product URL. Put that feed id in the feed id input and the product identifiers of that type in the identifiers input.
What does price position mean?
It is the provider's rank of your own price among the matched competitors for that product on that day. It is empty when no competitor was matched. The price gap column is computed here: your price including VAT minus the cheapest competitor price, as a percentage of that competitor price, so a positive number means you are more expensive.
What happens when there is nothing for a product or feed id?
It becomes its own row with found: false and a note: a product the feed does not know, a feed id the token cannot see, or a date range with no history. Those rows are never charged.
Can this actor change anything in my account?
No. Every request is a GET. The provider also documents a route that updates product fields, and it is not wired anywhere in this actor. The token is sent as a bearer header and never appears in a row or in the log.
How is it priced?
Pay per result: one flat price per record returned, whether a product day, a competitor price or a feed. Rows for products or ids that produced nothing, and competitor prices dropped by your filters, are free. Your provider subscription applies separately.
Example output
{"service": "productHistory","serviceLabel": "Competitor price and stock history","requested": "5701234567890","found": true,"feedId": "6201ab9c3e2348ae8072c608cab91e29","date": "2026-09-25","upi": "5701234567890","productId": "SHOE-1042","gtin": "5701234567890","sku": "SHOE-1042","productUrl": "https://shop.example.com/products/running-shoe-1042","currency": "DKK","ownPriceInclVat": 899,"ownPriceExclVat": 719.2,"pricePosition": 3,"vendorCount": 4,"inStockVendorCount": 3,"cheapestVendorDomain": "competitor-one.dk","cheapestVendorPrice": 849,"highestVendorPrice": 999,"priceGapPercent": 5.89,"vendors": [{ "domain": "competitor-one.dk", "price": 849, "stockStatus": "In stock", "inStock": true, "currency": "DKK", "lastChangedAt": "2026-09-24T06:10:00.000Z" },{ "domain": "competitor-two.dk", "price": 879, "stockStatus": "Out of stock", "inStock": false, "currency": "DKK", "lastChangedAt": "2026-09-20T04:55:00.000Z" }],"retrievedAt": "2026-09-26T09:14:52.118Z","note": null}
Values are illustrative; every source field is one the provider documents.
Keyword map
competitor price tracking API, competitor price monitoring, price history API, ecommerce price intelligence, competitor stock monitoring, price position, price gap analysis, dynamic pricing data, repricing data feed, product feed API, GTIN price lookup, retail price comparison data, PriceShape API.