Repricing API — Automated Dynamic Pricing
Build your own repricer in a weekend. REST endpoints for pricing rules, recommendations, feeds, competitor tiers, and activity logs. The same engine ShoppingScraper customers use to reprice 100K+ SKUs daily — exposed as a clean API.
What is included
Rule-based pricing engine
Create pricing rules via POST /rules. Match by competitor, marketplace, margin floor, velocity. Stack rules by priority. Update or delete a single rule via PATCH/DELETE.
Recommendations on demand
GET /recommendations returns suggested prices per SKU with the full competitor context: which sellers triggered the rule, current Buy Box price, your margin at the new price.
Stable CSV/JSON feed
GET /feed/{task_uuid} is a permanent, polling-ready URL. Point your ERP, repricer, or storefront at it and pull the latest recommendations on any cadence.
Competitor tiers
Classify merchants Tier A / B / C. Build rules that ignore unknown sellers and only react to verified Tier A competitors — eliminating noise from drop-shippers.
Why a Repricing API instead of a SaaS UI
Most repricers (RepricerExpress, Aura, BQool, Repricer.com) lock you into their UI, their refresh cadence, and their integrations. The Repricing API gives you the same engine programmatically: trigger a reprice from your own cron, expose recommendations in your own ERP, audit every rule firing in your own logging stack.
- Run repricing on YOUR cadence (every 5 minutes or once per day) — no per-SKU rate limits
- Stable feed URLs your ERP polls directly — no webhook plumbing required
- Competitor-tier classification so rules don't fire on drop-shippers or Marketplace mistakes
- Activity log endpoint = full audit trail of who/what/when changed pricing
- All recommendations exportable to CSV/JSON — no vendor lock-in on your pricing data
Typical integration: 4 endpoints, 1 weekend
A minimal viable repricer wires four endpoints: create rules, trigger reprice, fetch recommendations, write back to your storefront. The other endpoints (config, competitor-tiers, activity) are operational telemetry you add over time.
- POST /rules → encode your pricing strategy (e.g. 'undercut Tier A by 1%, never go below 12% margin').
- POST /reprice → trigger immediate evaluation of all active rules.
- GET /recommendations → fetch the suggested-price queue with competitor context.
- Write back to your storefront API (Shopify, bol.com Seller, Amazon SP-API).
- GET /activity (optional) → ship rule firings to your logging stack for audit.
What this API is and isn't
The Repricing API ships pricing recommendations. It does NOT push prices to your storefront — that's your storefront's API job (Amazon SP-API, Shopify Admin API, bol.com Seller API). This separation is intentional: ShoppingScraper owns the competitive intelligence + rule engine, your storefront owns the source of truth for what you actually sell at.
- ✅ Pulls competitor offers from 13 marketplaces (Amazon, bol.com, Coolblue, Google Shopping, etc.)
- ✅ Evaluates your rules against the live competitor feed
- ✅ Returns suggested prices with full reasoning (which competitor, which rule, what margin)
- ✅ Exports recommendations to CSV/JSON or polling-ready feed URL
- ❌ Does NOT push prices to Amazon / bol.com / Shopify — that's your storefront's job
- ❌ Does NOT manage inventory or order fulfillment
Repricing API endpoints
4 endpoints — copy-paste in cURL, Python, or JavaScript. Full reference at app.shoppingscraper.com/apiguide.
Reprice — trigger immediate rule evaluation
POST /api/dynamic-pricing/reprice runs every active rule against the latest competitor offers. Returns counts: processed, changes, increases, decreases. Use as your cron entry point.
Implementation
curl -X GET "https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Freprice&raw=true&api_key=your_api_key_here"
https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Freprice&raw=true&api_key=your_api_key_here{"url": "https://app.shoppingscraper.com/api/dynamic-pricing/reprice","title": "Trigger immediate repricing","price": "49.99","price_currency": "EUR","availability": "InStock","brand": "Zazu","gtin": "8718924881156","description": "Product description...","images": ["https://..."],"success": true}
Rules — create / list / update pricing rules
GET /api/dynamic-pricing/rules lists rules, POST creates one, PATCH updates a single rule, DELETE removes it. Use POST /rules/batch to bulk-create. Each rule pairs a target SKU set with a pricing strategy.
Implementation
curl -X GET "https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Frules&raw=true&api_key=your_api_key_here"
https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Frules&raw=true&api_key=your_api_key_here{"url": "https://app.shoppingscraper.com/api/dynamic-pricing/rules","title": "Pricing rule list","price": "49.99","price_currency": "EUR","availability": "InStock","brand": "Zazu","gtin": "8718924881156","description": "Product description...","images": ["https://..."],"success": true}
Recommendations — suggested prices per SKU
GET /api/dynamic-pricing/recommendations returns the suggested-price queue with competitor context: which seller triggered the rule, current Buy Box, your projected margin. Pipeline this to your storefront API.
Implementation
curl -X GET "https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Frecommendations&raw=true&api_key=your_api_key_here"
https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Frecommendations&raw=true&api_key=your_api_key_here{"url": "https://app.shoppingscraper.com/api/dynamic-pricing/recommendations","title": "Pricing recommendations","price": "49.99","price_currency": "EUR","availability": "InStock","brand": "Zazu","gtin": "8718924881156","description": "Product description...","images": ["https://..."],"success": true}
Feed — stable polling URL for your ERP
GET /api/dynamic-pricing/feed/{task_uuid} is a permanent CSV (or .json) feed URL of the latest recommendations. Point your ERP / storefront / Power BI / Looker at it and poll on any cadence.
Implementation
curl -X GET "https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Ffeed%2F00000000-0000-0000-0000-000000000000&raw=true&api_key=your_api_key_here"
https://app.shoppingscraper.com/page?url=https%3A%2F%2Fapp.shoppingscraper.com%2Fapi%2Fdynamic-pricing%2Ffeed%2F00000000-0000-0000-0000-000000000000&raw=true&api_key=your_api_key_here{"url": "https://app.shoppingscraper.com/api/dynamic-pricing/feed/00000000-0000-0000-0000-000000000000","title": "Latest recommendations feed (CSV)","price": "49.99","price_currency": "EUR","availability": "InStock","brand": "Zazu","gtin": "8718924881156","description": "Product description...","images": ["https://..."],"success": true}
Frequently Asked Questions
How is this different from RepricerExpress, Aura, BQool, or Repricer.com?+
Those tools lock you into their UI and per-marketplace integrations (typically Amazon-only). The ShoppingScraper Repricing API gives you the same rule engine as a clean REST surface — bring your own front-end, bring your own marketplace adapter, run repricing on your cadence not theirs. Pricing-data sourcing is built in (we already monitor 13 marketplaces).
Does the Repricing API push prices to my storefront automatically?+
No, by design. We ship recommendations; your storefront's own API (Amazon SP-API, Shopify Admin, bol.com Seller) is the source of truth for what you actually sell at. The integration is typically 50 lines of code: poll /recommendations, push to storefront. We deliberately don't handle this so we can't ever set the wrong price.
How fresh are the competitor prices the engine reacts to?+
Driven by your Schedulers. Tie a Scheduler running daily / 2x daily / 4x daily / on-demand to the EANs your rules target. Rules evaluate against the latest scrape from that scheduler. For real-time repricing, run the scheduler on Workdays or 4x Daily and call /reprice from your cron immediately after.
Can I run rules across multiple marketplaces?+
Yes. A single rule can target 'cheapest offer across Amazon NL, Amazon DE, bol.com NL, Coolblue NL'. Use competitor tiers to weight which marketplaces actually trigger your rule (e.g. ignore Coolblue if a smaller seller is undercutting).
How does competitor-tier classification work?+
GET /api/dynamic-pricing/competitor-tiers lists all merchants seen across your scrapes. POST a merchant to set their Tier (A/B/C) plus optional notes. Rules can scope themselves to 'Tier A only' so you don't react to drop-shippers, marketplace mistakes, or one-off liquidators.
Is there an audit trail for rule firings?+
Yes. GET /api/dynamic-pricing/activity returns the repricing event log: timestamp, rule id, affected product count, what changed. Pipe to your logging stack for compliance and post-hoc analysis.
Can I run the engine in simulation mode?+
Yes. PATCH /api/dynamic-pricing/config with simulation: true. Recommendations are still computed but flagged as simulated. Useful for stress-testing a new rule before it hits production margins.
What does the Repricing API cost?+
Repricing endpoints are part of the standard plan — 1 credit per /reprice call, free for /rules CRUD and /recommendations reads. The credit cost is on competitor-data acquisition (Schedulers), not the rule engine itself.
Explore more
Dynamic Pricing solution
Strategy guide and use cases for automated repricing.
Buy Box Monitoring
The competitor signal that drives most repricing rules.
Amazon Scraper API
Source the Amazon Buy Box + offers your rules react to.
bol.com Scraper API
Source bol.com Koopblok + offers.
Pricing
Credit pricing and plan limits.
Start building your own repricer
100 free API credits. No credit card required. Full Repricing API access on day one.