Skip to main content

Meta Catalog Feed CSV (v1)

Method & Path

GET /api/v1/public/storefront/stores/:slug/catalog-feed.csv

Actual backend path: GET /v1/public/storefront/stores/:slug/catalog-feed.csv

Description

Returns a CSV product feed compatible with Meta Commerce scheduled data feeds (comma-separated, header row). Product link values prefer a verified/active custom domain for the store when configured; otherwise they use STOREFRONT_WEB_URL with /{slug}/products/{productId}.

note

Meta does not accept JSON for this scheduled URL format. Use ?format=json only for debugging.

Authentication

None — access is gated by a secret token query parameter (Workspace Owner configures the feed in the dashboard).

Personas: not applicable (server-to-server / Meta fetch). Store settings are managed by Workspace Owner / staff with store.manage.

Headers

HeaderRequiredDescription
None

Path Parameters

ParameterTypeRequiredDescription
slugstringYesPublic store slug

Query Parameters

ParameterTypeRequiredDescription
tokenstringYesPlaintext feed secret (shown once when enabled/regenerated in dashboard)
formatstringNojson — return JSON array instead of CSV (debug only; do not use in Meta)

Request Body

None

Response 200 OK

  • CSV (default): Content-Type: text/csv; charset=utf-8
  • JSON: Content-Type: application/json; charset=utf-8 when format=json

CSV columns (header row):

id, title, description, availability, condition, price, sale_price, link, image_link, brand, gtin

The availability column is always in stock for every product row in the feed (inventory is not reflected in this export).

price is the regular (pre-discount) amount. When a product has an active product-level discount or the store has an active storewide percentage discount, sale_price is the discounted amount (Meta “sale price”); otherwise sale_price is empty.

Common Errors

  • 404 Not Found: Invalid slug, store not published, feed disabled, or invalid token (response body is plain text Not found to avoid leaking details)
  • 500 Internal Server Error: Server error