Skip to main content

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 of product_meta and image_meta costs one per_scope_rate. images costs per_image_rate per URL — the next parameter controls how many. Omit include= 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 one per_image_rate. Omit variants= 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...CallCost
Text-only sync (brand, ingredients, nutrition)?include=product_meta1 × per_scope_rate
One image URL (front only)?include=images&variants=front1 × per_image_rate
One image + text metadata (typical PDP)?include=product_meta,images&variants=front1 × per_scope_rate + 1 × per_image_rate
Everything for this barcode (default)(no params)2 × per_scope_rate + N × per_image_rate
Set both parameters or you'll still overpay

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

TierMonthly baseIncluded creditsRate limitsSupport
Free$0100 / month30 rpm · 500 rpdCommunity only
Standard$0Pay as you go60 rpm · 10k rpdEmail, 48h SLA
EnterpriseCustomCustom bundleCustomDedicated 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:

PackagePriceEffective rate
500 credits$5.00100 / $1.00
5,000 credits$45.00111 / $1.00 (10% off)
50,000 credits$375.00133 / $1.00 (25% off)
500,000 credits$3,000.00166 / $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):

CallAvailable variantsCharged
?include=images44 × per_image_rate
?include=images&variants=front4 available, front requested1 × per_image_rate
?include=images&variants=front,back4 available, 2 requested2 × per_image_rate
?include=product_meta,images&variants=frontmetadata + front onlyper_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