The Feedance AI features is rolling out.
Check it out!

What Trendyol and Hepsiburada Actually Require From Your Product Feed

On August 10, 2026, Trendyol switched off Product V1, the API version most in-house scripts and third-party feed tools had relied on for years to create and update listings on Turkey's largest marketplace. Sellers who had not migrated to Product V2 by that date lost the ability to list new products through the old endpoints. It is the kind of change that quietly breaks a feed pipeline nobody has touched since it was first built — and it is exactly the risk of treating Trendyol and Hepsiburada as smaller versions of Google Shopping. They are not. Each runs its own category taxonomy, its own mandatory fields, and its own approval logic, and neither publishes a plain-English spec the way Google Merchant Center's help center does. This guide sets out what each platform actually requires today, where they diverge, and how to structure one feed pipeline that satisfies both instead of hand-maintaining two exports.

Why one generic export does not work on either platform

Google Shopping and Meta's catalog both work from a broadly similar attribute model: an identifier, a title, a price, a handful of shared attributes, and a category taken from a public taxonomy. Once a feed satisfies that model, adapting it for a second Western channel is mostly a mapping exercise.

Trendyol and Hepsiburada break that pattern. Both require category and brand IDs pulled from their own lookup services rather than free text, both define category-specific required attributes that Google has no equivalent for, and both validate submissions asynchronously rather than returning an immediate accept or reject. A feed built only against Google's schema and pushed at these two platforms without a translation layer will fail silently far more often than it succeeds.

What Trendyol requires from a product feed (Product V2)

Trendyol's Product Create V2 documentation lists the following as mandatory for every item:

  • barcode – up to 40 characters; only periods, hyphens and underscores are allowed as special characters.
  • title – up to 100 characters.
  • productMainId – up to 40 characters, the seller's own code for grouping a product family.
  • brandId and categoryId – looked up from Trendyol's own brand and category services, not free text.
  • description – up to 30,000 characters, submitted as HTML.
  • listPrice and salePrice – salePrice cannot exceed listPrice.
  • vatRate – must be exactly 0, 1, 10 or 20.
  • quantity and stockCode (up to 100 characters, the seller's internal SKU).
  • images – up to 8 per barcode, each 1200x1800 pixels at 96dpi, served over HTTPS.
  • attributes – category-specific values pulled from Trendyol's attribute service; some accept multiple values when the service returns allowMultipleAttributeValues: true.

Submissions are capped at 1,000 items per request.

The barcode field is not a GTIN check

Trendyol's own spec only restricts which characters are allowed in barcode — periods, hyphens and underscores. It does not require the value to be a registered GS1/EAN barcode, the way Google Merchant Center's gtin attribute does. Teams that reuse the same field across channels sometimes assume Trendyol is checking barcode validity the way Google does; at the API level, it is not. If the same product is also advertised on Google Shopping, keep a correctly issued GTIN in your master feed for that channel regardless of what you send as Trendyol's barcode.

Submission success does not mean acceptance

The create and update endpoints return a batchRequestId, not a per-item accept or reject. You then call the getBatchRequestResult service with that ID to see which items were actually created and which failed, and why. Teams that treat the initial 200 OK response as confirmation routinely end up with products they believe are live but were rejected on a validation rule inside the batch.

What Hepsiburada requires

Hepsiburada's Listing API identifies products by merchantSku (your code) and hbSku (Hepsiburada's own identifier once assigned), and takes a category ID and category-specific attributes in the same pattern as Trendyol. Two differences are worth planning around before you build a shared pipeline:

  • Fewer images. Field-level documentation of the API (cross-checked against Hepsiburada's public integration libraries) shows five image slots — image1 through image5 — versus Trendyol's eight per barcode.
  • The same asynchronous pattern, different names. Price and stock updates are checked with dedicated tracking calls (updateProductPriceCheck, updateProductStockCheck, updateProductCheck) rather than returned inline, so the "submit, then poll for the real result" discipline that Trendyol requires applies here too.

One honest limitation: Hepsiburada's public developer portal is thinner than Trendyol's on plain-English rejection reasons. In practice, most of what a listing needs beyond the fields above is discovered from the specific error text returned by the check calls rather than from a published list of rejection codes.

Where the two platforms diverge

RequirementTrendyol (Product V2)Hepsiburada (Listing API)
Product identifierSeller-defined barcode (max 40 chars)merchantSku + platform-assigned hbSku
Max images8 per barcode, 1200x1800px, 96dpi5 (image1–image5)
Category sourceTrendyol category & brand lookup servicesHepsiburada category/attribute service
Price fieldslistPrice and salePrice (sale ≤ list)Single price field
Batch sizeUp to 1,000 items per requestNot published at the same granularity
Result feedbackAsync via batchRequestId → getBatchRequestResultAsync via tracking ID → dedicated check calls
Current API generationV2 (V1 retired August 10, 2026)Current Listing API

A feed row, mapped to both platforms

Take a generic master feed row for a ceramic dinnerware set:

id: CER-DIN-24 | title: "24-Piece Ceramic Dinner Set – White" | price: 899.00 TRY | category: Home & Living > Kitchen & Dining > Dinnerware | image: https://cdn.example.com/cer-din-24-1.jpg (and 7 more)

Mapped for Trendyol:

barcode: CER-DIN-24-TY · title: "24-Piece Ceramic Dinner Set – White" (fits the 100-char limit) · categoryId: [Dinnerware ID from Trendyol's category service] · brandId: [looked up] · listPrice: 999.00 · salePrice: 899.00 · vatRate: 10 · attributes: Material=Ceramic, Piece Count=24, Color=White · images: all 8 assets, resized to 1200x1800px

Mapped for Hepsiburada:

merchantSku: CER-DIN-24 · price: 899.00 · availableStock: [current quantity] · images: the best 5 of the 8 Trendyol assets · attributes: Material, Piece Count and Color mapped to Hepsiburada's own attribute set for the category

Two feed rows, two identifier schemes, two image counts, from one master row. This is the part a rules engine earns its keep on: a feed rules layer that reformats title length, selects which five of eight images travel to which channel, and maps a shared category tree onto each platform's own category and attribute IDs, without maintaining two spreadsheets by hand.

N11 and Çiçeksepeti: what carries over

The same shape of problem exists on N11 and Çiçeksepeti, with thinner public documentation to work from. N11 still runs on an older product service with far less self-service, plain-English specification than Trendyol publishes; category and attribute mapping and a seller-defined identifier are still the norm, but expect to lean on N11's own partner support or your systems integrator rather than a fully public reference. Çiçeksepeti's product API access is granted on request rather than documented in an open developer portal, so if you sell flowers, gifts or FMCG there alongside Trendyol and Hepsiburada, budget separate integration and QA time for that reason alone.

The pattern that holds across all four marketplaces: none of them will accept a feed built only to Google Merchant Center's schema. Category IDs, attribute sets and identifier rules are platform-specific every time, and Akakçe and Cimri — the two Turkish shopping-comparison engines with published Akakçe and Cimri feed specs — add a third and fourth schema on top if you list there too.

Pre-submission checklist

  • Confirm you are calling Trendyol Product V2, not V1 (V1 retired August 10, 2026).
  • Trendyol images are exactly 1200x1800px at 96dpi, HTTPS, 8 maximum per barcode.
  • vatRate is exactly 0, 1, 10 or 20 — not a decimal, not a percent sign.
  • categoryId and brandId come from Trendyol's own lookup services, never reused from Google's taxonomy or guessed.
  • Hepsiburada images are capped at 5 — decide in advance which five of your master asset set win.
  • Both platforms confirm results asynchronously. Poll getBatchRequestResult (Trendyol) or the relevant check call (Hepsiburada) before assuming anything is live.
  • Keep a correct GS1/EAN GTIN in the master feed for Google Shopping even though Trendyol's barcode field will not enforce one.
  • Budget separate QA time for N11 and Çiçeksepeti; their public specs are thinner than Trendyol's or Hepsiburada's.

What this doesn't cover

This guide is about getting a compliant product listed, not about how to group size and color variants under one parent on either platform — that mechanic is large enough to deserve its own treatment and is out of scope here. It also does not cover the business side of becoming an approved seller: company registration, tax setup and marketplace contracts are operational and legal steps, not feed-data problems. And it does not touch Trendyol Ads or Hepsiburada Ads bidding — Feedance prepares the data those campaigns read; it does not set or manage bids.

If your real need is a fully managed, done-for-you operation across these marketplaces rather than a feed platform you configure yourself, a regional marketplace management agency will get you further than any general feed tool, Feedance included — that is a genuinely different service than feed management and creative automation.

FAQ

Does Trendyol still accept Product V1 API calls?
No. Trendyol retired Product V1 on August 10, 2026. Any integration still pointed at V1 endpoints needs to move to Product V2.

Does Trendyol's barcode field have to be a real GS1 barcode?
Not at the API level. Trendyol only restricts which special characters are allowed (periods, hyphens, underscores). It does not validate the value as a registered GTIN the way Google Merchant Center does.

How many images can I submit per product?
Up to 8 per barcode on Trendyol at 1200x1800px and 96dpi, versus 5 image slots on Hepsiburada.

How do I know if Trendyol actually accepted my products?
The create/update call only returns a batchRequestId. Call getBatchRequestResult with that ID to see per-item acceptance or rejection.

Is Hepsiburada's approval process synchronous?
No. Price, stock and product updates are confirmed through separate tracking/check calls rather than in the original response.

Are N11 and Çiçeksepeti's requirements the same as Trendyol's?
The general shape is similar — platform-specific category and attribute IDs, a seller-defined identifier — but neither publishes as complete a public spec as Trendyol, so expect more reliance on partner support.

Can Feedance push my feed directly into Trendyol or Hepsiburada's listing APIs?
Feedance's role is producing correctly structured, enriched data for each channel; whether a given account has a native push connector for a specific marketplace depends on your current channel list, viewable on the feed channel exports page.

What VAT rate values does Trendyol accept?
Exactly 0, 1, 10 or 20 — sent as the vatRate field, not as a decimal or percentage string.

Do I need separate feeds for Trendyol and Hepsiburada, or can I run one?
You need one master feed and two sets of mapping rules, not two hand-maintained feeds. The identifier scheme, image count and category taxonomy differ enough that a single unmodified export will fail validation on at least one of the two.

If your feed is already live on one of these marketplaces and you are not sure it is still passing validation cleanly, run it through Feedance's free product feed audit tool to see where the gaps are before your next batch submission.

Prev Article
The Feed Attributes That Decide Whether Your Dynamic Creative Renders or Falls Back to a Placeholder

Related to this topic:

Schedule your 15-minute demo now

Schedule my demo

We’ll tailor your demo to your immediate needs and answer all your questions. Get ready to see how it works!