Online pharmacy promotion tracking
Detect price drops, discounts and special offers on your products. Online pharmacies, one API.
Who it's for
This API is built for technical teams at pharma brands and dermo-cosmetic manufacturers.
The problem
Your e-commerce distributors run promotions without telling you.
You discover the discounts after your customers do.
Uncoordinated discounts strain your relationships with other channels and erode brand equity. A product slashed -30% on one online pharmacy while it sits at full price elsewhere generates confusion and customer complaints.
Without real-time visibility you can't anticipate the impact on volumes, adjust your own trade operations, or engage with the distributor before the promotion ends.
How it works
The price.original field and the promotions list give you the promotion details in real time.
# Filter products on promo import requests response = requests.get( "https://api.rxradar.xyz/v1/snapshots", params={"gtin": "0020714002527"}, headers={"Authorization": "Bearer YOUR_API_KEY"} ) for s in response.json()["data"]: if s["price"]["original"]: print(f"{s['store']}: ${s['price']['current']} (was ${s['price']['original']})")
curl -X GET "https://api.rxradar.xyz/v1/snapshots?gtin=0020714002527" \ -H "Authorization: Bearer YOUR_API_KEY"
// Filter products on promo const response = await fetch( "https://api.rxradar.xyz/v1/snapshots?gtin=0020714002527", { headers: { "Authorization": "Bearer YOUR_API_KEY" } } ); const { data } = await response.json(); data.filter(s => s.price.original) .forEach(s => console.log(`${s.store}: $${s.price.current} (was $${s.price.original})`));
{
"gtin": "0020714002527",
"network": null,
"days": 7,
"data": [
{
"id": 98765,
"product_id": 12345,
"gtin": "0020714002527",
"collected_at": "2026-05-18T14:30:00",
"price": {
"current": 29.40,
"original": 34.00,
"range": null,
"has_promo": true,
"currency": "USD"
},
"stock": {
"available": true,
"label": "In stock"
},
"rating": {
"value": 4.2,
"count": 89
},
"rank": {
"position": 5,
"page": 1,
"page_size": 24
},
"promotions": [
{
"type": "percent_off",
"text": "14% off",
"value": 14,
"value_type": "percent",
"code": null,
"external_id": "special-offer",
"valid_until": "2026-05-31",
"requires_loyalty": false
}
],
"badges": ["sale"],
"favorites_count": 512,
"network": "cvs",
"store": "cvs.com"
}
// ... more snapshots
],
"total": 42,
"page": 1,
"per_page": 50,
"pages": 1
}
Endpoint: GET /v1/snapshots | Full documentation →
Comparison
| RxRadar | Manual checks | Distributor alerts | Generic tools | |
|---|---|---|---|---|
| Promo detection | Near-real-time | Lagging | Variable | Partial |
| Price drops | Yes | Manual | Rarely | Variable |
| Store coverage | Multi-network | Limited | 1 store | Variable |
| REST API | Yes | No | No | Variable |
| Pharma-specific | Yes | Yes | Yes | No |
| Promo history | Yes | No | No | Variable |