inventory APIv1.6.0

getInventoryItems

GET
/inventory_item
This call retrieves all inventory item records defined for the seller's account. The limit query parameter allows the seller to control how many records are returned per page, and the offset query parameter is used to retrieve a specific page of records. The seller can make multiple calls to scan through multiple pages of records. There is no request payload for this call.

The authorization header is the only required HTTP header for this call, and it is required for all Inventory API calls. See the HTTP request headers section for more information.

For those who prefer to retrieve numerous inventory item records by SKU value with one call (up to 25 at a time), the bulkGetInventoryItem method can be used.

Input

Resource URI (production)

GET https://api.ebay.com/sell/inventory/v1/inventory_item?

URI parameters

ParameterTypeDescription
offsetstringThe value passed in this query parameter sets the page number to retrieve. The first page of records has a value of 0, the second page of records has a value of 1, and so on. If this query parameter is not set, its value defaults to 0, and the first page of records is returned.

Occurrence: Optional

limitstringThe value passed in this query parameter sets the maximum number of records to return per page of data. Although this field is a string, the value passed in this field should be an integer from 1 to 100. If this query parameter is not set, up to 100 records will be returned on each page of results.

Min: 1, Max: 100

Occurrence: Optional

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

OAuth scope

This request requires an access token created with the authorization code grant flow, using one scope from the following list:

https://api.ebay.com/oauth/api_scope/sell.inventory.readonly

https://api.ebay.com/oauth/api_scope/sell.inventory

See OAuth access tokens for more information.

Output

HTTP response headers

{ /* InventoryItems */
"href" : "string",
"next" : "string",
"limit" : "integer",
"prev" : "string",
"size" : "integer",
}
Output container/fieldTypeDescription
hrefstringThis is the URL to the current page of inventory items.

Occurrence: Always

inventoryItemsarray of InventoryItemWithSkuLocaleGroupidThis container is an array of one or more inventory items, with detailed information on each inventory item.

Occurrence: Always

inventoryItems.availabilityAvailabilityThis container is used to specify the quantity of the inventory item that are available for purchase if the item will be shipped to the buyer, and the quantity of the inventory item that are available for In-Store Pickup at one or more of the merchant's physical stores

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailabilityarray of PickupAtLocationAvailabilityThis container consists of an array of one or more of the merchant's physical store locations where the inventory item is available for In-Store Pickup orders. The merchant's location, the quantity available, and the fulfillment time (how soon the item will be ready for pickup after the order takes place) are all in this container. In-Store Pickup is only available to large merchants selling on the US, UK, Germany, and Australia sites.

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailability.availabilityTypeAvailabilityTypeEnumThe enumeration value in this field indicates the availability status of the inventory item at the merchant's physical store specified by the pickupAtLocationAvailability.merchantLocationKey field. This field is required if the pickupAtLocationAvailability container is used, and is always returned with the pickupAtLocationAvailability container.

See AvailabilityTypeEnum for more information about how/when you use each enumeration value.

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailability.fulfillmentTimeTimeDurationThis container is used to indicate how soon an In-Store Pickup order will be available for pickup by the buyer after the order takes place. This container is required if the pickupAtLocationAvailability container is used, and is always returned with the pickupAtLocationAvailability container.

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailability.fulfillmentTime.unitTimeDurationUnitEnumThis enumeration value indicates the time unit used to specify the fulfillment time, such as HOUR.

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailability.fulfillmentTime.valueintegerThe integer value in this field, along with the time unit in the unit field, will indicate how soon after an In-Store Pickup purchase can the buyer pick up the item at the designated store location. If the value of this field is 4, and the value of the unit field is HOUR, then the fulfillment time for the In-Store Pickup order is four hours, which means that the buyer will be able to pick up the item at the store four hours after the transaction took place.

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailability.merchantLocationKeystringThe unique identifier of a merchant's store where the In-Store Pickup inventory item is currently located, or where inventory will be sent to. If the merchant's store is currently awaiting for inventory, the availabilityType value should be SHIP_TO_STORE. This field is required if the pickupAtLocationAvailability container is used, and is always returned with the pickupAtLocationAvailability container.

Max length: 36

Occurrence: Conditional

inventoryItems.availability.pickupAtLocationAvailability.quantityintegerThis integer value indicates the quantity of the inventory item that is available for In-Store Pickup at the store identified by the merchantLocationKey value. The value of quantity should be an integer value greater than 0, unless the inventory item is out of stock. This field is required if the pickupAtLocationAvailability container is used, and is always returned with the pickupAtLocationAvailability container.

Occurrence: Conditional

inventoryItems.availability.shipToLocationAvailabilityShipToLocationAvailabilityThis container specifies the quantity of the inventory item that are available for purchase across one or more eBay marketplaces.

Occurrence: Conditional

inventoryItems.availability.shipToLocationAvailability.quantityintegerThis container is used to set the total 'ship-to-home' quantity of the inventory item that will be available for purchase through one or more published offers. This container is not immediately required, but 'ship-to-home' quantity must be set before an offer of the inventory item can be published.

If an existing inventory item is being updated, and the 'ship-to-home' quantity already exists for the inventory item record, this container should be included again, even if the value is not changing, or the available quantity data will be lost.

Occurrence: Conditional

inventoryItems.conditionConditionEnumThe numeric ID value of this field corresponds to the condition of the item. For a full list of condition identifiers, use the Trading API's GetCategoryFeatures call. Condition IDs can vary by category. - NEW, LIKE_NEW, NEW_OTHER, NEW_WITH_DEFECTS, MANUFACTURER_REFURBISHED, SELLER_REFURBISHED, USED_EXCELLENT,USED_VERY_GOOD, USED_GOOD, USED_ACCEPTABLE, FOR_PARTS_OR_NOT_WORKING

Occurrence: Conditional

inventoryItems.conditionDescriptionstringThis string field is used by the seller to more clearly describe the condition of used items, or items that are not 'Brand New', 'New with tags', or 'New in box'. The ConditionDescription field is available for all categories. If the ConditionDescription field is used with an item in a new condition (Condition IDs 1000-1499), eBay will simply ignore this field if included, and eBay will return a warning message to the user. This field should only be used to further clarify the condition of the used item. It should not be used for branding, promotions, shipping, returns, payment or other information unrelated to the condition of the item. Make sure that the condition value, condition description, listing description, and the item's pictures do not contradict one another.Max length: 1000.

Occurrence: Conditional

inventoryItems.packageWeightAndSizePackageWeightAndSizeThis container is used to specify the dimensions and weight of a shipping package.

Occurrence: Conditional

inventoryItems.packageWeightAndSize.dimensionsDimensionThis container is used to indicate the length, width, and height of the shipping package that will be used to ship the inventory item. The dimensions of a shipping package are needed when calculated shipping is used.

This container will be returned if package dimensions are set for the inventory item.

Occurrence: Conditional

inventoryItems.packageWeightAndSize.dimensions.heightnumberThe actual height (in the measurement unit specified in the unit field) of the shipping package. All fields of the dimensions container are required if package dimensions are specified.

If a shipping package measured 21.5 inches in length, 15.0 inches in width, and 12.0 inches in height, the dimensions container would look as follows:
"dimensions": {
"length": 21.5,
"width": 15.0,
"height": 12.0,
"unit": "INCH"
}

Occurrence: Conditional

inventoryItems.packageWeightAndSize.dimensions.lengthnumberThe actual length (in the measurement unit specified in the unit field) of the shipping package. All fields of the dimensions container are required if package dimensions are specified.

If a shipping package measured 21.5 inches in length, 15.0 inches in width, and 12.0 inches in height, the dimensions container would look as follows:
"dimensions": {
"length": 21.5,
"width": 15.0,
"height": 12.0,
"unit": "INCH"
}

Occurrence: Conditional

inventoryItems.packageWeightAndSize.dimensions.unitLengthUnitOfMeasureEnumThe unit of measurement used to specify the dimensions of a shipping package. All fields of the dimensions container are required if package dimensions are specified. If the English system of measurement is being used, the applicable values for dimension units are FEET and INCH. If the metric system of measurement is being used, the applicable values for weight units are METER and CENTIMETER. The metric system is used by most countries outside of the US.

Occurrence: Conditional

inventoryItems.packageWeightAndSize.dimensions.widthnumberThe actual width (in the measurement unit specified in the unit field) of the shipping package. All fields of the dimensions container are required if package dimensions are specified.

If a shipping package measured 21.5 inches in length, 15.0 inches in width, and 12.0 inches in height, the dimensions container would look as follows:
"dimensions": {
"length": 21.5,
"width": 15.0,
"height": 12.0,
"unit": "INCH"
}

Occurrence: Conditional

inventoryItems.packageWeightAndSize.packageTypePackageTypeEnumThis enumeration value indicates the type of shipping package used to ship the inventory item. The supported values for this field can be found in the PackageTypeEnum type.

This field will be returned if the package type is set for the inventory item.

Occurrence: Conditional

inventoryItems.packageWeightAndSize.weightWeightThis container is used to specify the weight of the shipping package that will be used to ship the inventory item. The weight of a shipping package are needed when calculated shipping is used, or if flat-rate shipping rates are used, but with a weight surcharge.

This field will be returned if package weight is set for the inventory item.

Occurrence: Conditional

inventoryItems.packageWeightAndSize.weight.unitWeightUnitOfMeasureEnumThe unit of measurement used to specify the weight of a shipping package. Both the unit and value fields are required if the weight container is used. If the English system of measurement is being used, the applicable values for weight units are POUND and OUNCE. If the metric system of measurement is being used, the applicable values for weight units are KILOGRAM and GRAM. The metric system is used by most countries outside of the US.

Occurrence: Conditional

inventoryItems.packageWeightAndSize.weight.valuenumberThe actual weight (in the measurement unit specified in the unit field) of the shipping package. Both the unit and value fields are required if the weight container is used. If a shipping package weighed 20.5 ounces, the container would look as follows:
"weight": {
"value": 20.5,
"unit": "OUNCE"
}

Occurrence: Conditional

inventoryItems.productProductThis container is used in a createOrUpdateInventoryItem call to pass in a Global Trade Item Number (GTIN) or a Brand and Manufacturer Part Number (MPN) pair to identify a product to be matched with a product in the eBay catalog. If a match is found in the eBay product catalog, the inventory item is automatically populated with available product details such as a title, a subtitle, a product description, item specifics, and links to stock images for the product.

Occurrence: Conditional

inventoryItems.product.aspectsarray of stringThis is an array of item specific pairs that provide more information about the product and might make it easier for buyers to find. To view required/recommended product aspects/item specifics names (and corresponding values) for a specific eBay category, sellers can use the GetCategorySpecifics call of the Trading API. Alternatively, sellers can view similar items on eBay.com in the same category to get an idea of what other sellers are using for product aspects/item specifics.

Sellers also have the option of specifying an eBay Product ID (ePID) or optionally, a Global Trade Item Number (GTIN) through the corresponding fields in the product container in an attempt to find a product match in the eBay Catalog. If a match is found based on the ePID or GTIN value, the product aspects that are defined for the eBay Catalog product will automatically get picked up by the newly created/updated inventory item.

Below is an example of the proper JSON syntax to use when manually inputting item specifics:

"aspects": {
"Brand": ["GoPro"],
"Storage Type": ["Removable"]
}

Note that inventory items that will become part of an inventory item group and multiple-variation listing should have the same attributes that are defined for the inventory item group.

This container will be returned if one or more item specific pairs are defined for the inventory item.

Max Length for Aspect Name: 40

Max Length for Aspect Value: 50

Occurrence: Conditional

inventoryItems.product.brandstringThe brand of the product. This field is often paired with the mpn field to identify a specific product by Manufacture Part Number. This field is conditionally required if the eBay category requires a Manufacturer Part Number (MPN) value. If eBay is able to find a product match in the eBay Catalog when an eBay Product ID (ePID) or GTIN value (UPC, ISBN, or EAN) is supplied, all product details of that eBay Catalog product is picked up by the inventory item record (including brand) if the createOrUpdateInventoryItem call is successful.

This field is returned if defined for an inventory item. If a brand was passed in as an item specific name-value pair through the aspects array in a createOrReplaceInventoryItem call, this value is also picked up by the brand field.

Max Length: 65

Occurrence: Conditional

inventoryItems.product.descriptionstringThe description of the product. The description of an existing inventory item can be added or modified with a createOrReplaceInventoryItem call. The description of an inventory item is automatically populated if the seller specifies an eBay Product ID (ePID) or a Global Trade Item Number (GTIN) and eBay is able to find a matching product in the eBay Catalog.

Note that this field is optional but recommended. If a listingDescription field is omitted when creating and publishing a single-variation offer, the text in this field will be used instead. If neither the product.description field for the inventory item nor the listingDescription field for the offer exist, the publishOffer call will fail. If the inventory item will be part of an inventory item group/multiple-variation listing, this field should definitely be used to specify how the corresponding product variation is different (e.g. This is the green, extra-large version of the shirt). However, in the case of an inventory item group, the text in the description field of the inventory item group will become the listing description of the actual eBay listing instead of the text in this field.

Basic HTML tags are supported, including the following tags:
  • <b>
  • <strong>
  • <br>
  • <ol>
  • <ul>
  • <li>
  • Table tags including <table>, <tr>, <td>, <th>, <thead>, <tfoot>, <tbody>, <caption>, <colgroup>, and <col>
A seller can not use any active content in their listing description. Active content includes animation or video via JavaScript, Flash, plug-ins, or form actions.

This field is returned if defined for an inventory item. If one of the GTIN types (e.g. UPC) was passed in when the inventory item was created/modified and a product match was found in the eBay catalog, product description is one of the details that gets picked up from the catalog product.

Max Length: 4000

Occurrence: Always

inventoryItems.product.imageUrlsarray of stringAn array of one or more links to images for the product. URLs must use the "HTTPS" protocol. Images can be self-hosted by the seller, or sellers can use the UploadSiteHostedPictures call of the Trading API to upload images to an eBay Picture Server. If successful, the response of the UploadSiteHostedPictures call will contain a full URL to the image on an eBay Picture Server. This is the URL that will be passed in through the imageUrls array. Before an offer can be published, at least one image must exist for the inventory item. Most eBay sites support up to 12 pictures free of charge, and eBay Motors listings can have up to 24 pictures.

A link to a stock image for a product may automatically be populated for an inventory item if the seller specifies an eBay Product ID (ePID) or a Global Trade Item Number (GTIN) and eBay is able to find a matching product in the eBay Catalog.

This container will always be returned for an inventory item that is part of a published offer since a published offer will always have at least one picture, but this container will only be returned if defined for inventory items that are not a part of a published offer.

Occurrence: Conditional

inventoryItems.product.mpnstringThe Manufacturer Part Number (MPN) of a product. This field is paired with the brand field to identify a product. Some eBay categories require MPN values. The GetCategorySpecifics call of the Trading API can be used to see if a category requires an MPN. The MPN value for a product may automatically be populated for an inventory item if the seller specifies an eBay Product ID (ePID) or a Global Trade Item Number (GTIN) and eBay is able to find a matching product in the eBay Catalog.

This field is returned if defined for an inventory item. If an MPN was passed in as an item specific name-value pair through the aspects array in a createOrReplaceInventoryItem call, this value is also picked up by the mpn field.

Max Length: 65

Occurrence: Conditional

inventoryItems.product.subtitlestringA subtitle is an optional listing feature that allows the seller to provide more information about the product, possibly including keywords that may assist with search results. An additional listing fee will be charged to the seller if a subtitle is used. For more information on using listing subtitles on the US site, see the Adding a subtitle to your listings help page. The subtitle of an existing inventory item can added, modified, or removed with a createOrReplaceInventoryItem call.

Note that the same subtitle text should be used for each inventory item that will be part of an inventory item group, and ultimately become one product variation within a multiple-variation listing.

This field will only be returned if set for an inventory item.

Max Length: 55

Occurrence: Conditional

inventoryItems.product.titlestringThe title of an inventory item can be added or modified with a createOrReplaceInventoryItem call. Although not immediately required, a title will be needed before an offer with the inventory item is published. The title of an inventory item is automatically populated if the seller specifies an eBay Product ID (ePID) or a Global Trade Item Number (GTIN) and eBay is able to find a matching product in the eBay Catalog. If the inventory item will become part of a single-variation offer, and the listing is not a product-based listing, the text in this field will become the actual listing title for the published offer. However, if the inventory item will become part of a multiple-variation offer, the text in title field of the inventory item group entity will actually become the listing title for the published offer instead, although a title can still be provided for the inventory item, and it will actually become the title of the variation.

This field will always be returned for an inventory item that is part of a published offer since a published offer will always have a listing title, but this field will only be returned if defined for inventory items that are not a part of a published offer.

Max Length: 80

Occurrence: Always

inventoryItems.product.isbnarray of stringThe International Standard Book Number (ISBN) value for the product. Although an ePID value is preferred when trying to find a product match in the eBay Catalog, this field can also be used in an attempt to find a product match in the eBay Catalog. If a product match is found in the eBay Catalog, the inventory item is automatically populated with available product details such as a title, a product description, product aspects (including the specified ISBN value), and a link to any stock image that exists for the catalog product.

This field is returned if defined for an inventory item. If an ISBN was passed in as an item specific name-value pair through the aspects array in a createOrReplaceInventoryItem call, this value is also picked up by the isbn field.

Occurrence: Conditional

inventoryItems.product.upcarray of stringThe Universal Product Code (UPC) value for the product. Although an ePID value is preferred when trying to find a product match in the eBay Catalog, this field can also be used in an attempt to find a product match in the eBay Catalog. If a product match is found in the eBay Catalog, the inventory item is automatically populated with available product details such as a title, a product description, product aspects (including the specified UPC value), and a link to any stock image that exists for the catalog product.

This field is returned if defined for an inventory item. If a UPC was passed in as an item specific name-value pair through the aspects array in a createOrReplaceInventoryItem call, this value is also picked up by the upc field.

Occurrence: Conditional

inventoryItems.product.eanarray of stringThe European Article Number/International Article Number (EAN) for the product. Although an ePID value is preferred when trying to find a product match in the eBay Catalog, this field can also be used in an attempt to find a product match in the eBay Catalog. If a product match is found in the eBay Catalog, the inventory item is automatically populated with available product details such as a title, a product description, product aspects (including the specified EAN value), and a link to any stock image that exists for the catalog product.

This field is returned if defined for an inventory item. If an EAN was passed in as an item specific name-value pair through the aspects array in a createOrReplaceInventoryItem call, this value is also picked up by the ean field.

Occurrence: Conditional

inventoryItems.product.epidstringThe eBay Product Identifier (ePID) for the product. This field can be used to directly identify an eBay Catalog product. Based on its specified ePID value, eBay will search for the product in the eBay Catalog, and if a match is found, the inventory item is automatically populated with available product details such as product title, product description, product aspects, and a link to any stock image that exists for the catalog product.

This field is returned if defined for an inventory item.

Note: For the US, UK, CA (English), and AU sites, eBay is starting to require that some products in certain eBay categories be associated with an eBay Catalog product. For more information on this requirement, see the Product-Based Shopping Experience Playbook topic in the Selling Integration Guide. In an attempt to find a eBay Catalog product match, an ePID value is always preferred over the other product identifiers, since it is possible that one GTIN value can be associated with multiple eBay Catalog products, and if multiple products are found, product details will not be picked up by the Inventory Item object.

Occurrence: Conditional

inventoryItems.skustringThe seller-defined Stock-Keeping Unit (SKU) of the inventory item. The seller should have a unique SKU value for every product that they sell.

Occurrence: Conditional

inventoryItems.localeLocaleEnumThis field is for future use only.

Occurrence: Conditional

inventoryItems.groupIdsarray of stringThis returns the groupid-id this inventory item is associated with for MSKU listings

Occurrence: Conditional

inventoryItems.inventoryItemGroupKeysarray of stringThis returns the inventoryItemGroupKeys this inventory item is associated with for MSKU listings

Occurrence: Conditional

nextstringThis is the URL to the next page of inventory items. This field will only be returned if there are additional inventory items to view.

Occurrence: Conditional

limitintegerThis integer value is the the number of inventory items that will be displayed on each results page.

Occurrence: Always

prevstringThis is the URL to the previous page of inventory items. This field will only be returned if there are previous inventory items to view.

Occurrence: Conditional

sizeintegerThis integer value indicates the total number of pages of results that are available. This number will depend on the total number of inventory items available for viewing, and on the limit value.

Occurrence: Always

totalintegerThis integer value is the total number of inventory items that exist for the seller's account. Based on this number and on the limit value, the seller may have to toggle through multiple pages to view all inventory items.

Occurrence: Always

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

StatusMeaning
200Success
400Bad Request
404Not Found
500Internal Server Error

Error codes

CodeDomainCategoryMeaning
25001API_INVENTORYAPPLICATIONA system error has occurred. {additionalInfo}
25706API_INVENTORYREQUESTYou have provided invalid pagination values. {additionalInfo}.
25709API_INVENTORYREQUESTInvalid value for {fieldName}.

Samples

New to making API calls? Please see Making a Call.

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Retrieving Multiple Inventory Items

This call will retrieve all inventory items associated with the seller's acount.

Input

By setting the limit query parameter to 2 and the offset query parameter to 0, the seller wants to limit the number of inventory items returned per page to two, and wants to view the first page of records.
GET
https://api.ebay.com/sell/inventory/v1/inventory_item?limit=2&offset=0

Output

The first two inventory item records associated with the seller's account are returned in the response. These inventory items have SKU values of GP-Cam-01 and GP-Cam-02. Both of these inventory items are in new condition, and both are only available through standard, ship-to-home fulfillment.

The nextPage field indicates the offset and limit value that would need to be used in the next getAllInventoryItems call to receive the next set of inventory item records.

The total value indicates that there are a total of 100 inventory item records associated with the seller's account, and the size value indicates that there are a total of 50 pages of inventory item records since the current entriesPerPage value is 2.