Download a product image
Stream a product image's actual bytes, using the store and url from an image returned by /products or /product-detail. The URL must belong to that store. Every image carries a downloadUrl that already contains both parameters — use it verbatim. HTTP Range requests are supported. This is a GET with query parameters, not a JSON POST, and it bills as one request. Image bytes are never fetched while reading a catalog, so this is the only route that moves them.
/media Media https://api.fetchlayer.dev/woocommerce-stores/media Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
store string required The store the image belongs to. Passed as a query parameter.
url string required Image URL, exactly as returned on a product. Must belong to that store. Passed as a query parameter.
filename string optional Content-Disposition filename to serve the file as (max 200 characters).
Range string optional Standard HTTP Range request header, for example bytes=0-65535. Sent as a header, not a query parameter.
Response Fields
media
Download a product image
(body) binary The file itself. 200 for the whole file, 206 for a requested byte range.
Content-Type header Media type of the file, e.g. image/jpeg or image/webp.
Content-Range header Byte range served, on a 206 response.
Accept-Ranges header Present when the file supports range requests.
Request
curl -X GET "https://api.fetchlayer.dev/woocommerce-stores/media?store=example-shop.com&url=https%3A%2F%2Fexample-shop.com%2Fwp-content%2Fuploads%2F2026%2F03%2Fcoastal-rain-shell.jpg&filename=coastal-rain-shell.jpg" \
-H "Authorization: Bearer ss-your-key"Response
{
"note": "Binary file streamed back with Content-Type, Content-Length and Accept-Ranges headers."
}