Skip to main content
DrapierDrapier

Product Feeds

Access real-time product catalogs in XML, CSV, or JSON format for programmatic integration.

Product feeds give you programmatic access to the full catalog of products available for promotion across all Drapier brands. Use feeds to build product pages, comparison tools, or automated content pipelines.

For integration code examples (Python, Node.js, caching), see Consuming Product Feeds. For API endpoint details, see Feeds API Reference.

Available formats

XML (Google Product Feed)

Follows the Google Product Feed specification. Compatible with Google Shopping, Meta Catalog, and most affiliate platforms.

CSV (tab-separated)

Tab-separated values with a header row. Each row is one product. Suitable for spreadsheet tools or simple parsers.

JSON

Array of product objects. Best for programmatic integrations where you want to parse the data in code.

Feed refresh cycle

Feeds are regenerated every 4 hours. Each feed response includes a Last-Modified header so you can use conditional requests (If-Modified-Since) to avoid re-downloading unchanged data.

Time (UTC)Feed refreshed
00:00Yes
04:00Yes
08:00Yes
12:00Yes
16:00Yes
20:00Yes

Filtering

Append query parameters to narrow the feed to specific products:

ParameterDescriptionExample
brandFilter by brandbrand=italist
categoryFilter by Google product categorycategory=Apparel+%26+Accessories
minPriceMinimum sale price (USD)minPrice=100
maxPriceMaximum sale price (USD)maxPrice=5000
availabilityStock statusavailability=in_stock

Parameters can be combined:

https://api.drapier.io/v1/feeds/pub_8xk2m9/products.xml?key=sk_live_abc123&brand=hewi&minPrice=200&availability=in_stock

Feed fields

The XML feed uses the Google Product Feed specification. Here are the fields included:

FieldDescriptionExample
idUnique product identifierprod_xr9k2f
titleProduct namePrada Galleria Saffiano Leather Mini Bag
descriptionProduct description (HTML stripped)Crafted from premium Saffiano leather...
linkTracking URL (pre-generated for your publisher ID)https://click.drapier.io/pub_8xk2m9/prod_xr9k2f
image_linkPrimary product image URLhttps://cdn.italist.com/image/product/12345.jpg
additional_image_linkAdditional product images (up to 10)https://cdn.italist.com/image/product/12345-2.jpg
priceOriginal price with currency2150.00 USD
sale_priceCurrent sale price with currency1895.00 USD
brandProduct brand namePrada
conditionItem conditionnew or used (HEWI pre-owned items)
availabilityStock statusin_stock, out_of_stock
google_product_categoryGoogle taxonomy categoryApparel & Accessories > Handbags
custom_label_0Store/brand identifieritalist, hewi, verishop
custom_label_1Earnings tierhigh, medium, low

The link field contains a pre-generated tracking URL for your publisher account. You can use these links directly — no need to call the deep link API separately.

Sample feed (XML)

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
  <channel>
    <title>Drapier - pub_8xk2m9</title>
    <link>https://drapier.io</link>
    <description>Product feed for Luxury Fashion Blog</description>
    <item>
      <g:id>prod_xr9k2f</g:id>
      <g:title>Prada Galleria Saffiano Leather Mini Bag</g:title>
      <g:description>Crafted from premium Saffiano leather with gold-tone hardware</g:description>
      <g:link>https://click.drapier.io/pub_8xk2m9/prod_xr9k2f</g:link>
      <g:image_link>https://cdn.italist.com/image/product/prada-galleria-12345.jpg</g:image_link>
      <g:price>2150.00 USD</g:price>
      <g:sale_price>1895.00 USD</g:sale_price>
      <g:brand>Prada</g:brand>
      <g:condition>new</g:condition>
      <g:availability>in_stock</g:availability>
      <g:google_product_category>Apparel &amp; Accessories &gt; Handbags</g:google_product_category>
      <g:custom_label_0>italist</g:custom_label_0>
      <g:custom_label_1>high</g:custom_label_1>
    </item>
    <item>
      <g:id>prod_m4v7np</g:id>
      <g:title>Gucci GG Marmont Small Shoulder Bag</g:title>
      <g:description>Signature GG Marmont with chevron quilted leather</g:description>
      <g:link>https://click.drapier.io/pub_8xk2m9/prod_m4v7np</g:link>
      <g:image_link>https://cdn.italist.com/image/product/gucci-marmont-67890.jpg</g:image_link>
      <g:price>1980.00 USD</g:price>
      <g:sale_price>1650.00 USD</g:sale_price>
      <g:brand>Gucci</g:brand>
      <g:condition>new</g:condition>
      <g:availability>in_stock</g:availability>
      <g:google_product_category>Apparel &amp; Accessories &gt; Handbags</g:google_product_category>
      <g:custom_label_0>italist</g:custom_label_0>
      <g:custom_label_1>medium</g:custom_label_1>
    </item>
    <item>
      <g:id>prod_k9w3t6</g:id>
      <g:title>Chanel Classic Flap Bag Medium</g:title>
      <g:description>Pre-owned Chanel Classic Flap in black caviar leather, excellent condition</g:description>
      <g:link>https://click.drapier.io/pub_8xk2m9/prod_k9w3t6</g:link>
      <g:image_link>https://cdn.hewi.com/image/product/chanel-flap-34567.jpg</g:image_link>
      <g:price>6800.00 USD</g:price>
      <g:sale_price>6800.00 USD</g:sale_price>
      <g:brand>Chanel</g:brand>
      <g:condition>used</g:condition>
      <g:availability>in_stock</g:availability>
      <g:google_product_category>Apparel &amp; Accessories &gt; Handbags</g:google_product_category>
      <g:custom_label_0>hewi</g:custom_label_0>
      <g:custom_label_1>high</g:custom_label_1>
    </item>
  </channel>
</rss>

Best practices

Cache feeds locally. Don't fetch the feed on every page load. Pull it every 4–6 hours and store it in your database or a local file. This keeps your site fast and avoids hitting rate limits.

Use conditional requests. Include the If-Modified-Since header with the Last-Modified value from your previous fetch. If the feed hasn't changed, you'll get a 304 Not Modified response with no body, saving bandwidth.

curl -H "Authorization: Bearer sk_live_abc123..." \
  -H "If-Modified-Since: Wed, 18 Mar 2026 08:00:00 GMT" \
  "https://api.drapier.io/v1/feeds/pub_8xk2m9/products.xml?key=sk_live_abc123"

Validate XML schema. If you're ingesting the XML feed, validate it against the Google Product Feed XSD to catch any unexpected format changes early.

Filter server-side. Use the query parameters (brand, category, minPrice, etc.) to fetch only the products you need rather than downloading the entire catalog and filtering client-side.

Handle out-of-stock gracefully. Products can go out of stock between feed refreshes. If a consumer clicks a link to an out-of-stock product, they'll land on the product page with an unavailable status. Consider hiding or flagging out-of-stock products in your UI and refreshing your local cache more frequently if freshness is critical.

Use custom_label_0 to identify the store. Each product's custom_label_0 field indicates which brand storefront it belongs to (italist, hewi, or verishop). Use this to segment products by brand in your UI or to filter feeds to a single brand.

Use custom_label_1 for earnings insights. The custom_label_1 field indicates the earnings tier (high, medium, low). Promoting high-tier products earns you more per sale. Consider featuring them in prominent placements.

On this page