Pricing
The Retail Digitals Image API is priced in credits. Buy credits up front, spend them on API calls. No monthly base fee for Standard tier — pay only for what you use.
Cost formula
Every GET /products/{barcode} charges the sum of two independent parts:
credits = (per_scope_rate × metadata_scopes_returned) + (per_image_rate × image_variants_returned)
Two query parameters control what the API returns (and therefore what you pay):
include=picks metadata scopes. Valid values:product_meta,image_meta,images. Each ofproduct_metaandimage_metacosts oneper_scope_rate.imagescostsper_image_rateper URL — the next parameter controls how many. Omitinclude=and you get all three scopes, and pay for both metadata scopes even if you only wanted an image.variants=picks image URLs. Valid values:front,back,front_clean,back_clean. Each URL costs oneper_image_rate. Omitvariants=and every available variant gets a URL — up to 4 URLs on 4-variant products.
Both rates are admin-set. Fetch GET /pricing at daemon
startup and cache the values under actions["products.get"] (the scope rate) and
actions["products.get.per_image"] (the variant rate). Never hard-code.
Cheapest patterns for common use cases
| I want... | Call | Cost |
|---|---|---|
| Text-only sync (brand, ingredients, nutrition) | ?include=product_meta | 1 × per_scope_rate |
| One image URL (front only) | ?include=images&variants=front | 1 × per_image_rate |
| One image + text metadata (typical PDP) | ?include=product_meta,images&variants=front | 1 × per_scope_rate + 1 × per_image_rate |
| Everything for this barcode (default) | (no params) | 2 × per_scope_rate + N × per_image_rate |
Sending variants=front without include=images still charges you the two default
metadata scopes on top of the image. You need both to reach the minimum-cost call.
This was the biggest source of surprise overspend in our first live customer integration.
Verify with meta.credits_debited on every response.
Tiers
| Tier | Monthly base | Included credits | Rate limits | Support |
|---|---|---|---|---|
| Free | $0 | 100 / month | 30 rpm · 500 rpd | Community only |
| Standard | $0 | Pay as you go | 60 rpm · 10k rpd | Email, 48h SLA |
| Enterprise | Custom | Custom bundle | Custom | Dedicated Slack, 4h SLA, uptime credits |
Free tier images are watermarked with a larger, higher-opacity watermark and cannot be used commercially. Standard and Enterprise get the same globally-configured commercial watermark.
Credit prices
100 credits = $1.00 USD. Volume discounts:
| Package | Price | Effective rate |
|---|---|---|
| 500 credits | $5.00 | 100 / $1.00 |
| 5,000 credits | $45.00 | 111 / $1.00 (10% off) |
| 50,000 credits | $375.00 | 133 / $1.00 (25% off) |
| 500,000 credits | $3,000.00 | 166 / $1.00 (40% off) |
Credits do not expire. Refunds available within 30 days of purchase for unused credits — contact api@retaildigitals.com for the details.
Per-action costs
Live prices — fetched from /api/v1/pricing in real time. Admin changes are reflected here immediately on reload.
Failed calls (4xx / 5xx) are not charged. Live prices always available at
GET /pricing — we recommend hitting this at daemon startup
rather than hard-coding.
Sample cost calculations
These worked examples use the current live prices above. Update as you like.
Tip: For catalog sync, cache aggressively. Product metadata changes rarely — a weekly full
refresh + hourly bulk-check for new arrivals typically runs under $10/month.
Only pay for what you display
?include=images returns URLs for every available variant by default — up to 4 per
barcode (front, back, front_clean, back_clean). Add ?variants=front to fetch only the
variant you actually render. What each call charges (at current admin-set rates):
| Call | Available variants | Charged |
|---|---|---|
?include=images | 4 | 4 × per_image_rate |
?include=images&variants=front | 4 available, front requested | 1 × per_image_rate |
?include=images&variants=front,back | 4 available, 2 requested | 2 × per_image_rate |
?include=product_meta,images&variants=front | metadata + front only | per_scope_rate + per_image_rate |
If your integration only ever renders one image variant, adding variants= cuts your
per-product cost by up to 75%.
Enterprise: fixed-price contracts
Enterprise customers can convert to fixed monthly pricing based on projected volume, with included credit bundles + uptime credits + dedicated support. Contact api@retaildigitals.com to discuss.
Pricing change policy
We rarely change prices, and when we do:
- Base credit price: 60-day notice via email + changelog
- Per-action prices: 30-day notice
- Grandfathering: Prepaid credits keep their purchase-time redemption rate
We commit to never raising prices during your prepaid credit balance's redemption window.
Buying credits
- Dashboard: images.retaildigitals.com/billing
- Payment methods: Visa, MC, Amex, ACH (Enterprise only)
- Auto-recharge available — set a floor, top up automatically to a target balance
- Invoices generated monthly; NET-30 available for Enterprise