Inventory and Shipping Data Migration Tutorial
The Inventory and Shipping values for the includes parameter have been removed from the following endpoints:
GET /v3/application/listings/{listing_id}(getListing)GET /v3/application/listings/batch(getListingsByListingIds)
If your integration passes includes=Inventory or includes=Shipping on either of these endpoints, follow the steps below to migrate.
What changed#
Two includes values have been removed and replaced with dedicated endpoints, each with its own required OAuth scope:
| Was using | Migrate to | Required scope |
|---|---|---|
?includes=Inventory | getListingsInventoryByListingIds | listings_r |
?includes=Shipping | getListingsShippingByListingIds | shops_r |
Read on for step-by-step migration instructions for each.
Migrating from ?includes=Inventory#
Use the dedicated batch inventory endpoint instead:
Changes required:
- Replace calls to
getListingorgetListingsByListingIdswithgetListingsInventoryByListingIds. - Ensure your app requests the
listings_rOAuth scope. - Re-authorize any users who have not already granted
listings_r.
Limits: Up to 100 listing IDs per request.
Before:
After:
The response includes a populated inventory field on each listing result, containing products, price_on_property, quantity_on_property, and sku_on_property.
Note: inventory is null for listings that were not created or edited using Etsy’s inventory tools.
Migrating from ?includes=Shipping#
Use the dedicated batch shipping endpoint instead:
Changes required:
- Replace calls to
getListingorgetListingsByListingIdswithgetListingsShippingByListingIds. - Ensure your app requests the
shops_rOAuth scope. - Re-authorize any users who have not already granted
shops_r.
Limits: Up to 100 listing IDs per request.
Before:
After:
The response includes a populated shipping_profile field on each listing result, containing origin_country_iso, origin_postal_code, shipping_profile_destinations, shipping_profile_upgrades, and profile_type.
Note: shipping_profile is null for digital listings, which do not have shipping information.
Quick Reference#
| Previous usage | New endpoint | Required scope |
|---|---|---|
?includes=Inventory | getListingsInventoryByListingIds | listings_r |
?includes=Shipping | getListingsShippingByListingIds | shops_r |
Not affected#
- Creating or updating listings is unchanged.
- All other
includesvalues (Images,Shop,User,Translations,Videos,Personalization,BuyerPrice) continue to work as before ongetListingandgetListingsByListingIds. - Apps that do not use
?includes=Inventoryor?includes=Shippingrequire no changes.