getProductCompatibilities
Note: This call has been deprecated and will be decommissioned on April 27th, 2026. Users are recommended to migrate to the getProductCompatibilities method of the Metadata API.
This call retrieves all available item compatibility details for the specified product. Item compatibility properties are returned as name-value pairs. 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). Use this call to get complete compatibility details for products you find using findProductsByCompatibility. For example, if you searched for parts that fit a Honda Accord, you can use this call to see the years, engine, and trim for which the part is compatible, as well as any other compatibilities for the product.
Use either dataset or datasetPropertyName to restrict the name-value pairs returned in the response. The dataset value specifies the type of compatibility properties you want back. For example, if you specify Searchable, your compatibility details will be contain properties that can be used to search for products, such as Make and Model. Some compatibility properties, such as FitmentComments, 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"?> <getProductCompatibilitiesRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Input Fields --> <applicationPropertyFilter> 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 ... --> </applicationPropertyFilter> <!-- ... more applicationPropertyFilter nodes allowed here ... --> <dataset> token </dataset> <!-- ... more dataset values allowed here ... --> <datasetPropertyName> string </datasetPropertyName> <!-- ... more datasetPropertyName values allowed here ... --> <disabledProductFilter> ProductStatus <excludeForeBayReviews> boolean </excludeForeBayReviews> <excludeForeBaySelling> boolean </excludeForeBaySelling> <excludeForHalfSelling> boolean </excludeForHalfSelling> </disabledProductFilter> <paginationInput> PaginationInput <entriesPerPage> int </entriesPerPage> <pageNumber> int </pageNumber> </paginationInput> <productIdentifier> ProductIdentifier <EAN> string </EAN> <ePID> string </ePID> <ISBN> string </ISBN> <productId> string </productId> <UPC> string </UPC> </productIdentifier> <sortOrder> CompatibilitySort <sortOrder> SortOrder <order> OrderType </order> <propertyName> string </propertyName> </sortOrder> <sortPriority> SortPriority </sortPriority> </sortOrder> <!-- ... more sortOrder nodes allowed here ... --> </getProductCompatibilitiesRequest>
| Argument | Type | Occurrence | Meaning |
|---|
repeatable: [0..*] This will contain the property name value pairs of the application, such as a particular vehicle make and model. Application property filters are specified as name-value pairs.
.propertyName string Optional This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to.
.value.number
.unitOfMeasurement token Optional 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.
.value.number.value string Optional A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values.
.value.URL.value anyURI Optional 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.
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.
repeatable: [1..*] 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.
.excludeForeBayReviews boolean Optional Product cannot be used in product review flows.
Default: false.
.excludeForeBaySelling boolean Optional Product cannot be used in selling flows on eBay.
Default: false.
.excludeForHalfSelling boolean Optional Product cannot be used in selling flows on half.com.
Default: false.
Note: No more than 10,000 products can be retrieved for a given search, regardless of how many matches are found. This limit is enforced by the maximum page number allowed (100) and the maximum entries per page allowed (20).
If entriesPerPage is set to a number greater than 100, the default value, 100, will be used.
Max: 100. Default: 100.
Max: 100. Default: 1.
Max length: 13.
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.
Max length: 13.
Max length: 4000.
repeatable: [0..*] We need to allow multiple sort orders. This is very specific to fitment. We allow the caller sorty by Make + Model + year. To start with we will only allow 5 sorts.
Default: Descending.
Applicable values:
.propertyName string Optional Output can be sorted by one or more property names. You can look these values up using the getProductSearchNames call in the Product Metadata API.
Max length: 100.
Applicable values:
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"?> <getProductCompatibilitiesResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Output Fields --> <compatibilityDetails> Product <compatibilityCount> int </compatibilityCount> <notes> Notes <noteDetails> PropertyValue <propertyName> string </propertyName> <value> Value <number> NumericValue <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 <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> </compatibilityDetails> <!-- ... more compatibilityDetails nodes allowed here ... --> <paginationOutput> PaginationOutput <entriesPerPage> int </entriesPerPage> <pageNumber> int </pageNumber> <totalEntries> int </totalEntries> <totalPages> int </totalPages> </paginationOutput> <!-- 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> </getProductCompatibilitiesResponse>
| Return Value | Type | Occurrence | Meaning |
|---|
repeatable: [0..*] Compatibility details for a single 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.
.noteDetails PropertyValue Conditionally,
repeatable: [0..*] Additional comments about the product in the form of name-value pairs.
.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.
.noteDetails.value Value Conditionally,
repeatable: [0..*] A value for the property.
.noteDetails.value.number NumericValue Conditionally For numeric value type.
.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.
.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.
.productDetails PropertyValue Conditionally,
repeatable: [0..*] Details about the product in the form of name-value pairs.
.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.
.productDetails.value Value Conditionally,
repeatable: [0..*] A value for the property.
.productDetails.value.number NumericValue Conditionally For numeric value type.
.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.
.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.
.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.
.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.
.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.
.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.
.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.
.productStatus ProductStatus Conditionally Indicates whether or not a product is disabled for selling, product reviews, or use on Half.com.
.productStatus
.excludeForeBayReviews boolean Conditionally Product cannot be used in product review flows.
.productStatus
.excludeForeBaySelling boolean Conditionally Product cannot be used in selling flows on eBay.
.productStatus
.excludeForHalfSelling boolean Conditionally Product cannot be used in selling flows on half.com.
.stockPhotoURL StockPhotoURL Conditionally Thumbnail and standard stockphoto URLs.
.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.
.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.
.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.
.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.
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.
.entriesPerPage int Conditionally The maximum number of items that can be returned in the response. This number is always equal to the value input for paginationInput.entriesPerPage.
The end of the result set has been reached if the number specified for entriesPerPage is greater than the number of items found on the specified pageNumber. In this case, there will be fewer items returned than the number specified in entriesPerPage. This can be determined by comparing the entriesPerPage value with the value returned in the count attribute for the searchResult field.
This returned value indicates the page number of data returned (a subset of the complete result set). If this field contains 1, the response contains the first page of item data (the default). If the value returned in totalEntries is less than the value for entriesPerPage, pageNumber returns 1 and the response contains the entire result set.
The value of pageNumber is normally equal to the value input for paginationInput.pageNumber. However, if the number input for pageNumber is greater than the total possible pages of output, eBay returns the last page of item data in the result set, and the value for pageNumber is set to the respective (last) page number.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
repeatable: [0..*] Details about a single error.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
- domain values:
- Marketplace
- A business or validation error occurred in the service.
- SOA
- An exception occurred in the Service Oriented Architecture (SOA) framework.
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.
[ 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.
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:
Code so that your app gracefully handles any future changes to this list.
- subdomain values:
- MarketplaceCatalog
- The error is specific to the Marketplace Catalog subdomain.
- MarketplaceCommon
- The error is common to all Marketplace services.
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 |
|