Skip to content
Reponse.ai LogoDocs
DocsAPISDKsGuides

Search Documentation

Search for an article...

Getting Started

  • Overview
  • Architecture
  • Installation
  • Authentication
  • First Request

Products & Collections

  • Products — List
  • Products — Get
  • Products — Metafields
  • Collections — List
  • Collections — Get
  • Collections — Products

Cart & Checkout

  • Cart — Create
  • Cart — Get
  • Cart — Add Item
  • Cart — Update Item
  • Cart — Remove Item
  • Cart — Apply Promotion
  • Checkout — Stripe
  • Checkout — Payment Intent
  • Checkout — ACP

Orders & Fulfillment

  • Orders — Create
  • Orders — Get
  • Orders — Confirm
  • Orders — Cancel
  • Orders — Fulfill
  • Orders — Refund

Commerce

  • Inventory — Get
  • Inventory — Update
  • Shipping — Rates
  • Discounts — List
  • Discounts — Create
  • Discounts — Validate
  • Subscriptions — Manage

Loyalty & Gift Cards

  • Loyalty — Balance
  • Loyalty — Redeem
  • Loyalty — Referral
  • Gift Cards — List
  • Gift Cards — Redeem

Tickets & Support

  • Tickets — List
  • Tickets — Create
  • Tickets — Reply

Platform

  • Product Feed — JSON
  • Product Feed — CSV
  • Theme — Get
  • Approvals — Execute
  • Approvals — Reject
  • Geocode

SDKs

  • SDK Overview
  • TypeScript SDK
  • React Hooks

Guides

  • Chat Widget
  • Shopify Sync
  • Storefront Starter
  • Loyalty Program
  • Discounts & Promotions
  • Subscriptions
  • Klaviyo Integration
  • Custom Domains
  • Agentic Commerce (ACP)
  • A2A Protocol
  • AI Engines
  • MCP Server

Webhooks

  • Webhooks Overview
  • Events Reference
  • Shopify Webhooks
  • Stripe Webhooks
  • Reviews (Stamped / Trustpilot)
  • Logistics
  • Email Inbound

Resources

  • Environment Variables
  • Rate Limits
  • Changelog
DocsPlatformProduct Feed — CSV

Product Feed — CSV

Get the product feed as CSV.

2 min read/Last updated Aug 19, 2026
On this page

Overview

Returns the active product catalog as a CSV file, compatible with **Google Merchant Center**, **Perplexity Shopping**, **Meta Catalog**, and other feed-based channels. The CSV follows the [Google product data specification](https://support.google.com/merchants/answer/7052112).

Authentication

This endpoint requires a Bearer token. Include your workspace API key in the `Authorization` header.

Authorization: Bearer <your_api_key>

Request

**GET** `/api/v1/feed/csv`

Query parameters

This endpoint does not accept query parameters. It returns all active products (up to 5,000) for the authenticated workspace.

Headers

HeaderValueRequired
AuthorizationBearer ✅
Accepttext/csvOptional

Response

Success — `200 OK`

**Content-Type:** `text/csv; charset=utf-8`

**Headers:**

HeaderDescription
Content-Dispositionattachment; filename="product-feed.csv"
Cache-Controlpublic, max-age=3600, s-maxage=3600 (1 hour)
X-Product-CountNumber of products in the feed

CSV columns

ColumnDescriptionExample
idUnique product or variant ID ({product_id}_{variant_id})prod_abc_var_123
titleProduct title, with variant suffix if applicableClassic Logo T-Shirt - S / Black
descriptionPlain-text description (HTML stripped, max 5,000 chars)Premium cotton t-shirt...
linkProduct page URLhttps://my-store.reponse.ai/products/classic-logo-t-shirt
image_linkPrimary product image URLhttps://cdn.shopify.com/...
additional_image_linkAdditional images (comma-separated, up to 10)https://cdn...1.jpg,https://cdn...2.jpg
availabilityStock statusin_stock or out_of_stock
priceDisplay price with currency39.99 EUR
sale_priceSale price with currency (empty if no sale)29.99 EUR
brandWorkspace brand nameMy Brand
conditionProduct conditionAlways new
google_product_categoryGoogle product taxonomy categoryApparel & Accessories > Clothing > Shirts
item_group_idParent product ID (for variant grouping)prod_abc123
gtinSKU / barcodeLOGO-TEE-S-BLK

Example output

csv
id,title,description,link,image_link,additional_image_link,availability,price,sale_price,brand,condition,google_product_category,item_group_id,gtin
prod_abc_var_1,"Classic Logo T-Shirt - S / Black","Premium cotton t-shirt with embroidered logo.",https://my-store.reponse.ai/products/classic-logo-t-shirt,https://cdn.shopify.com/tee-black.jpg,,in_stock,"39.99 EUR","29.99 EUR","My Brand",new,"Apparel & Accessories > Clothing > Shirts",prod_abc,LOGO-TEE-S-BLK
prod_abc_var_2,"Classic Logo T-Shirt - M / White","Premium cotton t-shirt with embroidered logo.",https://my-store.reponse.ai/products/classic-logo-t-shirt,https://cdn.shopify.com/tee-white.jpg,,in_stock,"39.99 EUR","29.99 EUR","My Brand",new,"Apparel & Accessories > Clothing > Shirts",prod_abc,LOGO-TEE-M-WHT

Error responses

StatusBodyCause
401{ "error": "Unauthorized" }Missing or invalid API key
500{ "error": "Failed to fetch product feed" }Database error

Pricing logic

The feed uses a "compare at" pricing model:

  • If a variant has a compare_at_price greater than its price, the feed treats the variant as on sale:
    • price column = compare_at_price (the "was" price)
    • sale_price column = price (the current/sale price)
  • If no compare_at_price or it's not greater, price = variant price and sale_price is empty.

Variant handling

  • Single variant products (or products with only a "Default" variant) output as a single row.
  • Multi-variant products output one row per variant, with the item_group_id set to the parent product ID for variant grouping in Google Merchant Center.
  • Variant titles are appended to the product title: "Product Name - Variant Title".

SDK example

typescript
const res = await fetch(
  `${baseUrl}/api/v1/feed/csv`,
  {
    headers: {
      Authorization: `Bearer ${apiKey}`,
    },
  }
);

const csv = await res.text();
// Parse CSV or save to file for upload to Google Merchant Center

Caching

The response is cached for **1 hour** (`max-age=3600`). For real-time inventory accuracy, consider using the [Product Feed — JSON](doc:feed-json) endpoint which also supports Gzip compression for faster transfer.

Related

  • Product Feed — JSON — ACP-compliant structured JSON feed
  • Products — List — paginated product list with full filtering
PreviousProduct Feed — JSON
NextTheme — Get