eBay Product APIVersion 1.4.0
 

getProductDetails

Use this call to retrieve details for a specific product. The request requires a product identifier, either an eBay-specific identifier (e.g., ePID) or an external identifier, such as a Universal Part Code (UPC). The product details consist of name-value pairs that describe the product, such the supplier, display name, or part number. This call also returns URLs for stock photos, thumbnail and standard, when available.

Use either dataset or datasetPropertyName to restrict the name-value pairs returned in the response. The dataset value specifies the type of product details you want back. For example, if you specify Searchable, your product details will be contain properties that can be used to search for products, such as Supplier Name and Type. Some properties, such as Part number, are not intended for product searches.



Input

See also Samples.

The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

<?xml version="1.0" encoding="utf-8"?>
<getProductDetailsRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services">
  <!-- Call-specific Input Fields -->
  <productDetailsRequest> ProductDetailsRequestType
    <dataset> token </dataset>
    <!-- ... more dataset values allowed here ... -->
    <datasetPropertyName> string </datasetPropertyName>
    <!-- ... more datasetPropertyName values allowed here ... -->
    <productIdentifier> ProductIdentifier
      <EAN> string </EAN>
      <ePID> string </ePID>
      <ISBN> string </ISBN>
      <productId> string </productId>
      <UPC> string </UPC>
    </productIdentifier>
    <productStatusFilter> ProductStatus
      <excludeForeBayReviews> boolean </excludeForeBayReviews>
      <excludeForeBaySelling> boolean </excludeForeBaySelling>
      <excludeForHalfSelling> boolean </excludeForHalfSelling>
    </productStatusFilter>
  </productDetailsRequest>
  <!-- ... more productDetailsRequest nodes allowed here ... -->
</getProductDetailsRequest>
Argument Type Occurrence Meaning
productDetailsRequest ProductDetailsRequestType Optional,
repeatable: [0..*]
Contains product details.
productDetailsRequest.dataset token Optional,
repeatable: [0..*]
This will define what are properties that will be returned for this catelog-enabled category.
Dataset values:
DisplayableProductDetails
Properies for use in a user interface to describe products.
DisplayableSearchResults
Properties for use in results for product searches.
Searchable
Properties for use in searches.
Sortable
Properties that are suitable for sorting.
User can either enter dataset name or enter individual property names (datasetPropertyName) from the dataset. Only one should be preset at a time.
productDetailsRequest
  .datasetPropertyName
string Optional,
repeatable: [0..*]
Individual property name from the dataset. You can either enter dataset name or enter individual property names from the dataset. Only one should be preset at a time.
productDetailsRequest
  .productIdentifier
ProductIdentifier Required The product identifier type and value. Product identifiers, such as ePID values or ISBN values, are unique across all sites.
productDetailsRequest
  .productIdentifier.EAN
string Conditional European Article Number (EAN) value for books. (This is used more commonly in European countries.) If you know a book's EAN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book.
Max length: 13.
productDetailsRequest
  .productIdentifier.ePID
string Conditional eBay Product ID. eBay's global reference ID for a catalog product. On the eBay Web site, this is known as the "ePID". A reference ID is a fixed reference to a product (regardless of version). One reference ID can be associated with multiple ProductID values. The value should start with "EPID", for example "EPID30971438" (without quotes). You can find reference IDs for products by using GetProducts (or FindProducts in the Shopping API). You can also find the ePID on eBay's Web site.

If the primary and secondary categories are both catalog-enabled, this ID should correspond to the primary category (not the secondary category).
Max length: 38.
productDetailsRequest
  .productIdentifier.ISBN
string Conditional ISBN-10 or ISBN-13 value for books. (The string length of ProductID indicates whether the ID is 10 or 13 characters.) If you know a book's ISBN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book.
Max length: 13.
productDetailsRequest
  .productIdentifier.productId
string Conditional eBay's unique identifier for a specific version of a product. This is the long alphanumeric ID that is returned from GetProductSearchResults and related calls. See the Trading API Guide for information about finding this type of product ID. (For the shorter ePID value that is displayed on the eBay Web site, see ProductReferenceID instead.)
Max length: 4000.
productDetailsRequest
  .productIdentifier.UPC
string Conditional eBay Product ID.
Max length: 12.
productDetailsRequest
  .productStatusFilter
ProductStatus Optional Specifies whether or not to filter out the products which are disabled for selling on eBay, disabled for product reviews, or disabled for selling on half.com.
productDetailsRequest
  .productStatusFilter
  .excludeForeBayReviews
boolean Optional Product cannot be used in product review flows.
Default: false.
productDetailsRequest
  .productStatusFilter
  .excludeForeBaySelling
boolean Optional Product cannot be used in selling flows on eBay.
Default: false.
productDetailsRequest
  .productStatusFilter
  .excludeForHalfSelling
boolean Optional Product cannot be used in selling flows on half.com.
Default: false.



Output

See also Samples.

The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

<?xml version="1.0" encoding="utf-8"?>
<getProductDetailsResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services">
  <!-- Call-specific Output Fields -->
  <product> Product
    <compatibilityCount> int </compatibilityCount>
    <notes> Notes
      <noteDetails> PropertyValue
        <propertyName> string </propertyName>
        <value> Value
          <number> NumericValue
            <unitOfMeasurement> token </unitOfMeasurement>
            <value> string </value>
          </number>
          <text> StringValue
            <value> string </value>
          </text>
          <URL> URIValue
            <value> anyURI </value>
          </URL>
        </value>
        <!-- ... more value nodes allowed here ... -->
      </noteDetails>
      <!-- ... more noteDetails nodes allowed here ... -->
    </notes>
    <productDetails> PropertyValue
      <propertyName> string </propertyName>
      <value> Value
        <number> NumericValue
          <unitOfMeasurement> token </unitOfMeasurement>
          <value> string </value>
        </number>
        <text> StringValue
          <value> string </value>
        </text>
        <URL> URIValue
          <value> anyURI </value>
        </URL>
      </value>
      <!-- ... more value nodes allowed here ... -->
    </productDetails>
    <!-- ... more productDetails nodes allowed here ... -->
    <productIdentifier> ProductIdentifier
      <EAN> string </EAN>
      <ePID> string </ePID>
      <ISBN> string </ISBN>
      <productId> string </productId>
      <UPC> string </UPC>
    </productIdentifier>
    <productStatus> ProductStatus
      <excludeForeBayReviews> boolean </excludeForeBayReviews>
      <excludeForeBaySelling> boolean </excludeForeBaySelling>
      <excludeForHalfSelling> boolean </excludeForHalfSelling>
    </productStatus>
    <stockPhotoURL> StockPhotoURL
      <standard> URIValue
        <value> anyURI </value>
      </standard>
      <thumbnail> URIValue
        <value> anyURI </value>
      </thumbnail>
    </stockPhotoURL>
    <type> string </type>
  </product>
  <!-- ... more product nodes allowed here ... -->
  <!-- Standard Output Fields -->
  <ack> AckValue </ack>
  <errorMessage> ErrorMessage
    <error> ErrorData
      <category> ErrorCategory </category>
      <domain> string </domain>
      <errorId> long </errorId>
      <exceptionId> token </exceptionId>
      <message> string </message>
      <parameter name="string"> ErrorParameter (string) </parameter>
      <!-- ... more parameter values allowed here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes allowed here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
</getProductDetailsResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
product Product Conditionally,
repeatable: [0..*]
Details for a single product.
product.compatibilityCount int Conditionally Coming soon. The quantity of compatibilities that have been specified for the product. When returned, indicates that the product is Parts Compatibility eanbled.
product.notes Notes Conditionally Optional notes that provide additional information about the product, such as the placement of the part or accessory on a vehicle or the type of vehicle a part fits.
product.notes.noteDetails PropertyValue Conditionally,
repeatable: [0..*]
Additional comments about the product in the form of name-value pairs.
product.notes.noteDetails
  .propertyName
string Conditionally This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to.
product.notes.noteDetails
  .value
Value Conditionally,
repeatable: [0..*]
A value for the property.
product.notes.noteDetails
  .value.number
NumericValue Conditionally For numeric value type.
product.notes.noteDetails
  .value.number
  .unitOfMeasurement
token Conditionally Unit of measure for a numeric value.
Allowed values:
bps
Bits per second. A unit of data transmission.
kbps
Kilobits per second. A unit of data transmission.
bit
Binary digit. A unit of information storage.
byte
An ordered collection of bits. A unit of information storage equal to 8 bits in most contexts.
kb
Kilobit. A unit of information storage equal to 1024 bits.
MB
Megabyte. A unit of information storage equal to one million bytes.
mW
Megawatt. A unit of power equal to one million watts.
W
Watt. The base SI unit of power.
Hz
Hertz. A unit of frequency equal to one cycle per second.
kHz
Kilohertz. A unit of frequency equal to 1,000 cycles per second.
m
Meter. The base unit of distance.
mm
Megameter. A unit of distance equal to one million meters.
rph
Revolutions per hour. A unit of frequency.
hr
Hour. A unit of time equal to 3,600 seconds.
min
Minute. A unit of time equal to 60 seconds.
ms
Microsecond. A unit of time equal to one millionth of a second.
ns
Nanosecond. A unit of time equal to 10-9 seconds.
sec
Seconds. The base unit of time.
g
Grams. A unit of mass equal to one one-thousandth of the SI base unit, the kilogram.
lbs
Pounds. The base Imperial unit of mass.
The allowed units of measure do not apply to all numeric values. For example, when specifying the number of doors, unitOfMeasurement is not needed.
product.notes.noteDetails
  .value.number.value
string Conditionally A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values.
product.notes.noteDetails
  .value.text
StringValue Conditionally For string value type.
product.notes.noteDetails
  .value.text.value
string Conditionally A string value.
product.notes.noteDetails
  .value.URL
URIValue Conditionally For URL value type.
product.notes.noteDetails
  .value.URL.value
anyURI Conditionally As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS).
Max length: 400.
product.productDetails PropertyValue Conditionally,
repeatable: [0..*]
Details about the product in the form of name-value pairs.
product.productDetails
  .propertyName
string Conditionally This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to.
product.productDetails.value Value Conditionally,
repeatable: [0..*]
A value for the property.
product.productDetails.value
  .number
NumericValue Conditionally For numeric value type.
product.productDetails.value
  .number.unitOfMeasurement
token Conditionally Unit of measure for a numeric value.
Allowed values:
bps
Bits per second. A unit of data transmission.
kbps
Kilobits per second. A unit of data transmission.
bit
Binary digit. A unit of information storage.
byte
An ordered collection of bits. A unit of information storage equal to 8 bits in most contexts.
kb
Kilobit. A unit of information storage equal to 1024 bits.
MB
Megabyte. A unit of information storage equal to one million bytes.
mW
Megawatt. A unit of power equal to one million watts.
W
Watt. The base SI unit of power.
Hz
Hertz. A unit of frequency equal to one cycle per second.
kHz
Kilohertz. A unit of frequency equal to 1,000 cycles per second.
m
Meter. The base unit of distance.
mm
Megameter. A unit of distance equal to one million meters.
rph
Revolutions per hour. A unit of frequency.
hr
Hour. A unit of time equal to 3,600 seconds.
min
Minute. A unit of time equal to 60 seconds.
ms
Microsecond. A unit of time equal to one millionth of a second.
ns
Nanosecond. A unit of time equal to 10-9 seconds.
sec
Seconds. The base unit of time.
g
Grams. A unit of mass equal to one one-thousandth of the SI base unit, the kilogram.
lbs
Pounds. The base Imperial unit of mass.
The allowed units of measure do not apply to all numeric values. For example, when specifying the number of doors, unitOfMeasurement is not needed.
product.productDetails.value
  .number.value
string Conditionally A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values.
product.productDetails.value
  .text
StringValue Conditionally For string value type.
product.productDetails.value
  .text.value
string Conditionally A string value.
product.productDetails.value
  .URL
URIValue Conditionally For URL value type.
product.productDetails.value
  .URL.value
anyURI Conditionally As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS).
Max length: 400.
product.productIdentifier ProductIdentifier Conditionally The eBay produdt ID (ePID) or external IDs associated with the product. Use the Reference value as input to search for the same product in the future, or use the ISBN, EAN, or UPC value (if returned). The ISBN, EAN, and UPC values can also be useful as keys if your application is comparing products across different sites. Always returned when Product is returned.
product.productIdentifier.EAN string Conditionally European Article Number (EAN) value for books. (This is used more commonly in European countries.) If you know a book's EAN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book.
Max length: 13.
product.productIdentifier.ePID string Conditionally eBay Product ID. eBay's global reference ID for a catalog product. On the eBay Web site, this is known as the "ePID". A reference ID is a fixed reference to a product (regardless of version). One reference ID can be associated with multiple ProductID values. The value should start with "EPID", for example "EPID30971438" (without quotes). You can find reference IDs for products by using GetProducts (or FindProducts in the Shopping API). You can also find the ePID on eBay's Web site.

If the primary and secondary categories are both catalog-enabled, this ID should correspond to the primary category (not the secondary category).
Max length: 38.
product.productIdentifier.ISBN string Conditionally ISBN-10 or ISBN-13 value for books. (The string length of ProductID indicates whether the ID is 10 or 13 characters.) If you know a book's ISBN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book.
Max length: 13.
product.productIdentifier
  .productId
string Conditionally eBay's unique identifier for a specific version of a product. This is the long alphanumeric ID that is returned from GetProductSearchResults and related calls. See the Trading API Guide for information about finding this type of product ID. (For the shorter ePID value that is displayed on the eBay Web site, see ProductReferenceID instead.)
Max length: 4000.
product.productIdentifier.UPC string Conditionally eBay Product ID.
Max length: 12.
product.productStatus ProductStatus Conditionally Indicates whether or not a product is disabled for selling, product reviews, or use on Half.com.
product.productStatus
  .excludeForeBayReviews
boolean Conditionally Product cannot be used in product review flows.
product.productStatus
  .excludeForeBaySelling
boolean Conditionally Product cannot be used in selling flows on eBay.
product.productStatus
  .excludeForHalfSelling
boolean Conditionally Product cannot be used in selling flows on half.com.
product.stockPhotoURL StockPhotoURL Conditionally Thumbnail and standard stockphoto URLs.
product.stockPhotoURL.standard URIValue Conditionally Fully qualified URL for a stock image (if any) that is associated with a catalog product. The URL is for the image eBay usually displays in product search results (usually 70px tall). It may be helpful to calculate the dimensions of the photo programmatically before displaying it. Only returned if a URL is available for the product.
product.stockPhotoURL.standard
  .value
anyURI Conditionally As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS).
Max length: 400.
product.stockPhotoURL
  .thumbnail
URIValue Conditionally Fully qualified URL for the thumbnail of a stock image (if any) that is associated with a catalog product. The URL is for the image eBay usually displays in product search results (usually 40px tall). It may be helpful to calculate the dimensions of the photo programmatically before displaying it. Only returned if a URL is available for the product.
product.stockPhotoURL
  .thumbnail.value
anyURI Conditionally As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS).
Max length: 400.
product.type string Conditionally Indicates if a product is the top or main product in a family (Head) or a variant of the head product (Member). If a product is not part of a product family, it is also the Head.

Sometimes several versions (or editions) of a product may be available. All versions of the same product are considered to be part of the same product family. Some product families may contain only one product; others may contain many products.
Allowed values:
Head
The product is the the head of the product family.
Member
The product is a variant of the head product.
Standard Output Fields  
ack AckValue Always Indicates whether or not errors or warnings were generated during the processing of the request.

Applicable values:

Failure
The request was processed successfully, but something occurred that may affect your application or the user.
PartialFailure
The request that triggered the error was processed successfully but with some warnings.
Success
The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.
Warning
The request that triggered the error was processed successfully but with some warnings.

Code so that your app gracefully handles any future changes to this list.
errorMessage ErrorMessage Conditionally Description of an error or warning that occurred when eBay processed the request. Not returned if the ack value is Success.
errorMessage.error ErrorData Conditionally,
repeatable: [0..*]
Details about a single error.
errorMessage.error.category ErrorCategory Conditionally There are three categories of errors: request errors, application errors, and system errors.

Applicable values:

Application
An error occurred due to a problem with the request, with the most likely source being the application sending the request. For example, the request is missing a required data element or it contains an invalid field. The problem must be corrected before the request can be resent. Inspect the error message to find the cause of the problem. If the problem is due to an application error, modify the application and resend the request. If the error is due to invalid data, the source of the data must be corrected before you resend the resend request to eBay.
Request
An error occurred due to a problem with the request, with the most likely source being missing or invalid data in the request. The problem must be corrected before the request can be retried. Inspect the error message to find the cause of the problem. If the problem is a result of end-user data, alert the end-user to the problem and provide the means for them to correct the problem. Once the problem is resolved, resend the request to eBay.
System
Indicates that an error has occurred on the eBay system side. For example, a database or server could be down. Inspect the error message to find the cause of the problem. If the problem is on the eBay side, an application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

Code so that your app gracefully handles any future changes to this list.
errorMessage.error.domain string Conditionally Name of the domain in which the error occurred.
domain values:
Marketplace
A business or validation error occurred in the service.
SOA
An exception occurred in the Service Oriented Architecture (SOA) framework.
errorMessage.error.errorId long Conditionally A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.
errorMessage.error.exceptionId token Conditionally Unique identifier for an exception associated with an error.
errorMessage.error.message string Conditionally A detailed description of the condition that caused in the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.parameter
  [ attribute name ]
string Conditionally Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.severity ErrorSeverity Conditionally Indicates whether the reported problem is fatal (an error) or is less- severe (a warning). Review the error message details for information on the cause.

If the request fails and the application is the source of the error (for example, a required element is missing), update the application before you retry the request. If the problem is due to incorrect user data, alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, re-send the request to eBay.

If the source of the problem is on eBay's side, you can retry the request a reasonable number of times (eBay recommends you try the request twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, you can resend the request in its original form.

If a warning occurs, warning information is returned in addition to the business data. Normally, you do not need to resend the request (as the original request was successful). However, depending on the cause of the warning, you might need to contact the end user, or eBay, to effect a long term solution to the problem.

Applicable values:

Error
eBay encountered a fatal error during the processing of the request, causing the request to fail. When eBay encounters an error, it returns error data instead of the requested business data. Inspect the error details and resolve the problem before resubmitting the request.
Warning
The request was successfully processed, but eBay encountered a non-fatal error during the processing that could affect the data returned. For example, eBay might have changed the value of an input field. In this case, eBay returns a successful response, but it also returns a warning. For best results, requests should return without warnings. Inspect the warning details and resolve the problem before resubmitting the request.

Code so that your app gracefully handles any future changes to this list.
errorMessage.error.subdomain string Conditionally Name of the subdomain in which the error occurred.
subdomain values:
MarketplaceCatalog
The error is specific to the Marketplace Catalog subdomain.
MarketplaceCommon
The error is common to all Marketplace services.
timestamp dateTime Always This value represents the date and time when eBay processed the request. This value is returned in GMT, the ISO 8601 date and time format (YYYY- MM- DDTHH:MM:SS.SSSZ). See the "dateTime" type for information about the time format, and for details on converting to and from the GMT time zone.
version string Always The release version that eBay used to process the request. Developer Technical Support may ask you for the version value if you work with them to troubleshoot issues.

Note: The version in use is normally the latest release version, as specified in the release notes. Note that eBay releases the API to international sites about a week after the API version is released to the US site.



Samples

Code samples not yet added for this call's documentation.



Change History

Change Date Description
1.1.0
11/3/2009
  • (added) New call.