GetCategorySpecifics

Item Specifics are name-value pairs that describe typical aspects of items in a particular category. They enable sellers to classify items by presenting descriptive details in a structured way. For example, in a jewelry category, you might describe a locket using "Gemstone=Amber" (where "Gemstone" is the name and "Amber" is the value), but in a Washers & Dryers category, you might use "Type=Top-Loading" instead.

GetCategorySpecifics returns the most popular custom Item Specific names and values for each leaf category you request. (eBay determines the popularity based on several factors, such as the number of recent listings and/or recently sold listings in the same category that have used the same name or value.)

How Item Specifics are Modeled in the Trading API

The Trading API supports two models for item Specifics:

Starting in 2009, eBay will convert some categories that support the Attributes model to use custom Item Specifics instead. Keep an eye on the eBay Developers Program newsletter and blog for information about the road map for these category changes.

Check ItemSpecificsEnabled in GetCategoryFeatures to determine which categories support listing with custom Item Specifics.

Use GetCategory2CS to determine which categories support listing with the older ID-based Attributes, and use GetAttributesCS to retrieve Attribute metadata (instead of using GetCategorySpecifics).

Using Recommendations in eBay Listings

When you are listing an item, we recommend that you consider using popular names and values in your Item Specifics, because standard terms can help buyers (and comparison shopping tools) understand the details of your item more easily.

The names and values returned in GetCategorySpecifics are more likely to be indexed for title and description searches in the future. If you don't see a name or value that applies to your item, you can add your own custom names and values in your listing request. (If that name or value becomes popular, it may be recommended in these results over time.)

Please note that GetCategorySpecifics may return recommendations for categories that don't currently support custom Item Specifics in listing requests. Therefore, check ItemSpecificsEnabled in GetCategoryFeatures to determine which categories support listing with custom Item Specifics.

Downloading Recommendations for All Categories at Once

In the Trading API, this call enables you to retrieve recommendations for 250-275 leaf categories at a time. This means you need to make multiple GetCategorySpecifics calls to download data for more categories.

For applications that support a very wide variety of categories, it may be more practical to use the downloadFile call in the File Transfer API to download a single GetCategorySpecifics response that contains custom Item Specific recommendations for all categories on a given site. The GetCategorySpecifics response is returned as a .zip file attachment. It uses the new Recommendations node (introduced with version 609).

Note: You don't need to learn about (or use) Large Merchant Services or the Bulk Data Exchange API in order to use the downloadFile call in the File Transfer API.

Here's how it works:

  1. In the Trading API, call GetCategorySpecifics for a particular site (e.g., site ID 0) and set CategorySpecificsFileInfo to true.
    The response includes FileReferenceID and TaskReferenceID. These IDs identify a particular file that contains recommendations for the specified site.
  2. Pass these two IDs as input to the downloadFile call in the File Transfer API.
    downloadFile returns a standard "Success" response, plus a .zip file.
  3. Extract the GetCategorySpecifics response from the .zip file.
    The XML file contains all available recommendations for all categories on the site.
  4. Once every day or two, call GetCategorySpecifics again to see if the FileReferenceID and TaskReferenceID have changed. If they have changed, use the new IDs to download the latest version of the file.

The downloadable GetCategorySpecifics response file is updated every few days. When this occurs, eBay generates new file reference and task reference IDs for the new file. A different file (with different IDs) is associated with each eBay site.

If you call GetCategoryFeatures, you may detect that custom Item Specifics have been newly enabled in certain categories since you last downloaded recommendations. In this case, if the file IDs returned by GetCategorySpecifics haven't changed, you can call GetCategorySpecifics directly to retrieve any new recommendations for those specific categories.

The downloadFile call in the File Transfer API supports both SOAP and XML requests and responses. However, the GetCategorySpecifics response in the .zip file is formatted as an XML-style response (without the SOAP envelope). If your application requires the response in a a SOAP envelope, you can insert it like this (the inserted portion is in bold):

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <GetCategorySpecificsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
      <Timestamp>2009-04-01T08:57:56.832Z</Timestamp>
      <Ack>Success</Ack>
      <Version>611</Version>
      <Build>e611_core_Bundled_8249970_R1</Build>
      <!-- ... etc. ... -->
    </GetCategorySpecificsResponse>
  </soapenv:Body>
</soapenv:Envelope>

Related Information

See Working with Custom Item Specifics.

See also the reference documentation for these calls:



Back to top

GetCategorySpecifics Input

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).

See also Samples.

See also the Deprecated Objects link above. Fields presented in this color are deprecated, and fields presented in this color are (or soon will be) non-operational.

The XML prototype does not include requester credentials. This is a documentation limitation only (see Standard Requester Credentials for Making Calls).

<?xml version="1.0" encoding="utf-8"?>
<GetCategorySpecificsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
  <!-- Standard Input Fields -->
  <ErrorLanguage> string </ErrorLanguage>
  <MessageID> string </MessageID>
  <Version> string </Version>
  <WarningLevel> WarningLevelCodeType </WarningLevel>
  <!-- Call-specific Input Fields -->
  <CategoryID> string </CategoryID>
  <!-- ... more CategoryID nodes here ... -->
  <CategorySpecific> CategoryItemSpecificsType 
    <CategoryID> string </CategoryID>
    <ItemSpecifics> NameValueListArrayType 
      <NameValueList> NameValueListType 
        <Name> string </Name>
        <Value> string </Value>
        <!-- ... more Value nodes here ... -->
      </NameValueList>
      <!-- ... more NameValueList nodes here ... -->
    </ItemSpecifics>
  </CategorySpecific>
  <!-- ... more CategorySpecific nodes here ... -->
  <CategorySpecificsFileInfo> boolean </CategorySpecificsFileInfo>
  <ExcludeRelationships> boolean </ExcludeRelationships>
  <IncludeConfidence> boolean </IncludeConfidence>
  <LastUpdateTime> dateTime </LastUpdateTime>
  <MaxNames> int </MaxNames>
  <MaxValuesPerName> int </MaxValuesPerName>
  <Name> string </Name>
</GetCategorySpecificsRequest>
Argument Type Occurrence Meaning
Standard Input Fields   [Jump to call-specific fields]
ErrorLanguage string Optional Use ErrorLanguage to return error strings for the call in a different language from the language commonly associated with the site that the requesting user is registered with. Specify the standard RFC 3066 language identification tag (e.g., en_US).
ID--- country
----- -----
de_AT Austria
de_CH Switzerland
de_DE Germany
en_AU Australia
en_CA Canada
en_GB United Kingdom
en_SG Singapore
en_US United States
es_ES Spain
fr_BE Belgium (French)
fr_CA Canada (French)
fr_FR France
it_IT Italy
nl_BE Belgium (Dutch)
nl_NL Netherlands
zh_CN China
en_IN India
en_IE Ireland
zh_HK Hong Kong

See Tags for the Identification of Languages.

MessageID string Optional In most cases, all calls support a MessageID element in the request and a CorrelationID element in the response. If you pass a message ID in a request, we will return the same value in CorrelationID in the response. You can use this for tracking that a response is returned for every request and to match particular responses to particular requests. If you do not pass MessageID in the request, CorrelationID is not returned.

Note: GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL, GetProductFinder, GetProductFinderXSL, and GetProductSearchPage are designed to retrieve very large sets of metadata that change once a day or less often. To improve performance, these calls return cached responses when you request all available data (with no filters). When this occurs, the MessageID and CorrelationID fields aren't applicable. However, if you specify an input filter to reduce the amount of data returned, the calls retrieve the latest data (not cached). When this occurs, MessageID and CorrelationID are applicable.
Version string Conditional The version number of the API code that you are programming against (e.g., 549). The version you specify for a call has these basic effects:
- It indicates the version of the code lists and other data that eBay should use to process your request.
- It indicates the schema version you are using.
You need to use a version that is greater than or equal to the lowest supported version.

For the SOAP API: If you are using the SOAP API, this field is required. Specify the version of the WSDL your application is using.

For the XML API: If you are using the XML API, this field has no effect. Instead, specify the version in the X-EBAY-API-COMPATIBILITY-LEVEL HTTP header. (If you specify Version in the body of an XML API request and it is different from the value in the HTTP header, eBay returns an informational warning that the value in the HTTP header was used instead.)

See:
    HTTP Headers (XML API Only)
    eBay Schema Versioning Strategy
    Lowest Supported Version

WarningLevel WarningLevelCodeType Optional Controls whether or not to return warnings when the application passes unrecognized or deprecated elements in a request.

An unrecognized element is one that is not defined in any supported version of the schema. Schema element names are case-sensitive, so using WarningLevel can also help you remove any potential hidden bugs within your application due to incorrect case or spelling in field names before you put your application into the Production environment.

WarningLevel only validates elements; it doesn't validate XML attributes. It also doesn't control warnings related to user-entered strings or numbers, or warnings for logical errors.

We recommend that you only use this during development and debugging. Do not use this in requests in your production code.

Applicable values:

•   High

(in) Return warnings when the application passes unrecognized or deprecated elements in a request.

•   Low

(in) Do not return warnings when the application passes unrecognized or deprecated elements in a request. This is the default value if WarningLevel is not specified.


See Warning Level.

Call-specific Input Fields
CategoryID string Conditional,
repeatable: [0..275]
A leaf category to retrieve recommended Item Specifics for. (This call returns no results for a parent category.) To determine which leaf categories support listing with custom Item Specifics, use GetCategoryFeatures and GetCategories.

Note: This call may return recommendations for categories that don't support listing with custom Item Specifics. That is, the presence of recommendations for a category does not necessarily mean that AddItem supports custom Item Specifics for that category and site.

Alternatively, you can use the CategorySpecific to specify the category. (If you plan to only use one or the other in your application, you should use CategorySpecific, as it may offer more options in the future.)

You can specify multiple leaf categories (but more categories can result in longer response times). If you specify the same ID twice, we use the first instance. Required if CategorySpecificsFileInfo is not provided.

Depending on how many recommendations are found, your request may time out if you specify too many category IDs. (Typically, you can download recommendations for about 275 categories at a time.)
CategorySpecific CategoryItemSpecificsType Conditional,
repeatable: [0..275]
Applicable with request version 609 and higher. (This does not retrieve data at all if your request version is lower than 609.) Contains a leaf category for which you want recommended Item Specifics, and (optionally) names and values to help you refine the recommendations. You can specify multiple categories (but more categories can result in longer response times). If you specify the same category twice, we use the first instance.

Depending on how many recommendations are found, your request may time out if you specify too many categories. (Typically, you can download recommendations for about 275 categories at a time.)

CategoryID and CategorySpecific.CategoryID can be used in the request. (If you plan to only use one or the other in your application, you should use CategorySpecific, as it may offer more options in the future.)
CategorySpecific.CategoryID string Conditional In the requests, this is a leaf category to retrieve recommended Item Specifics for. (This call returns no results for a parent category.) To determine which leaf categories support listing with custom Item Specifics, use GetCategoryFeatures and GetCategories.

Note: This call may return recommendations for categories that don't support listing with custom Item Specifics. That is, the presence of recommendations for a category does not necessarily mean that AddItem supports custom Item Specifics for that category and site.

Either CategoryID or CategorySpecfics.CategoryID is required (or the request will return an error).

In responses, this is the leaf category that the recommendations are associated with. It is always a category that you specified in the request.

Only returned for categories that have recommended Item Specifics or when you also pass in the Name field.
Max length: 10.
CategorySpecific.ItemSpecifics NameValueListArrayType Conditional In the request, use this to retrieve recommended values for a particular name (in the specified category). This could be an arbitrary name that the seller wants to check, or it could be a name that was returned in a prior response. At the time of this writing, this value is case-sensitive. (Wildcards are not supported.)

In the response, contains a list of Item Specifics (if any) that eBay recommends as most popular within the specified category.

In the response, not returned when you pass LastUpdateTime in the request.
CategorySpecific.ItemSpecifics
  .NameValueList
NameValueListType Conditional,
repeatable: [0..*]
For the AddItem family of calls: Contains the name and value(s) for an Item Specific. Only required when the ItemSpecifics container is specified.

For the AddFixedPriceItem family of calls: The same NameValueList schema is used for the ItemSpecifics node, the VariationSpecifics node, and the VariationSpecifcsSet node.

If the listing has varations, any name that you use in the VariationSpecifics and VariationSpecificsSet nodes can't be used in the ItemSpecifics node.

When you list with Item Variations:
a) Specify shared Item Specifics (e.g., Brand) in the ItemSpecifics node.
b) Specify up to five VariationSpecifics in each Variation node.
c) Specify all applicable names with all their supported values in the VariationSpecificSet node.

See the Variation sample in the AddFixedPriceItem call reference for examples.

For PlaceOffer: Required if the item being purchased includes Item Variations.
CategorySpecific.ItemSpecifics
  .NameValueList.Name
string Conditional A name in a name/value pair.

For the AddItem and AddFixedPriceItem families of calls: In the Item.ItemSpecifics context, this can be any name that the seller wants to use. However, to help buyers find items more easily, it is a good idea to try to use a recommended name when possible (see GetCategorySpecifics or GetItemRecommendations). You can't specify the same name twice within the same listing.

For the AddFixedPriceItem family of calls: In the VariationSpecifics context, this can be any name that the seller wants to use, unless the VariationsEnabled flag is false for the name in the GetCategorySpecifics response. For example, for some categories eBay may recommend that you only use "Brand" as a shared name at the Item level, not in variations.

For GetCategorySpecifics and GetItemRecommendations: This is a recommended (popular) name to use for items in the specified category (e.g., "Brand" might be recommended, not "Manufacturer").

For search calls: In the GetSearchResults response, this the name of an attribute (Attribute) that was used in the listing. Specifically: If SearchRequest was used to perform a "Product Finder" search, this contains the name of one attribute (i.e, the name of one ID-based Item Specifics field). If IncludeCondition was true in the request, this returns the condition attribute name (e.g., "Item Condition").

In the GetProducts response, this is an attribute name that is defined for a catalog product.

For PlaceOffer: Required if the item being purchased includes Item Variations.
CategorySpecific.ItemSpecifics
  .NameValueList.Value
string Conditional,
repeatable: [0..*]
A value associated with the name.

For the AddItem family of calls: If you specify multiple values for Item Specifics, eBay only stores the first one, unless GetCategorySpecifics or GetItemRecommendations indicates that the corresponding name supports multiple values.

For the AddFixedPriceItem family of calls: If you specify multiple values for Item Specifics or Variation Specifics, eBay only stores the first one, unless GetCategorySpecifics or GetItemRecommendations indicates that the corresponding name supports multiple values.

In VariationSpecificSet, you typically specify multiple Value fields for each name. For example, if Name=Size, you would specify all size values that you wan to offer in the listing.

For GetCategorySpecifics and GetItemRecommendations: The most highly recommended values are returned first. For these calls, Value is only returned when recommended values are available.

For search calls: In the GetSearchResults response, if SearchRequest was used to perform a "Product Finder" search, this contains the value of one attribute. If IncludeCondition was true in the request, this returns the condition attribute value (e.g., "New").

For PlaceOffer: Required if the item being purchased includes Item Variations.
Max length: 50 (see GeteBayDetails).
CategorySpecificsFileInfo boolean Conditional If true, the response includes FileReferenceID and TaskReferenceID. Use these IDs as inputs to the downloadFile call in the eBay File Transfer API. That API lets you retrieve a single (bulk) GetCategorySpecifics response with all the Item Specifics recommendations available for the requested site ID. (The downloadFile call downloads a .zip file as an attachment.)

Either CategorySpecificsFileInfo or a CategoryID is required (or you can specify both).

Note: You can use the File Transfer API without using or learning about the Bulk Data Exchange API or other Large Merchant Services APIs.

See downloadFile in the File Transfer API.

ExcludeRelationships boolean Optional If true, the Relationship node is not returned for any recommendations. Relationship recommendations tell you whether an Item Specific value has a logical dependency another Item Specific.

For example, in a clothing category, Size Type could be recommended as a parent of Size, because Size=Small would mean something different to buyers depending on whether Size Type=Petite or Size Type=Plus.

In general, it is a good idea to retrieve and use relationship recommendations, as this data can help buyers find the items they want more easily.
Default: false.
IncludeConfidence boolean Optional If true, returns eBay's level of confidence in the popularity of each name and value. Some sellers may find this useful when choosing whether to use eBay's recommendation or their own name or value.
Default: false.
LastUpdateTime dateTime Conditional Causes the recommendation engine to check whether the list of popular Item Specifics for each specified category has changed since this date and time. If specified, this call returns no Item Specifics; it only returns whether the data has changed for any of the requested categories.

Typically, you pass in the Timestamp that was returned the last time you refreshed the list of names and values for the same categories. If the Updated flag returns true for any categories in the response, call GetCategorySpecifics again for those categories to get the latest names and values. (As downloading all the data may affect your application's performance, it may help to only download Item Specifics for a category if they have changed since you last checked.)
MaxNames int Optional Maximum number of Item Specifics to return per category (where each Item Specific is identified by a unique name within the category). Use this to retrieve fewer results per category. For example, if you only want up to 2 per category (the top 2 most popular names), specify 2.
Min: 1. Max: see GeteBayDetails. Default: 10.
MaxValuesPerName int Optional Maximum number of values to retrieve per Item Specific. Use this to retrieve fewer values per name. For example, if you only want the most popular value, specify 1.
Min: 1. Max: see GeteBayDetails. Default: 25.
Name string Optional The name of one Item Specific name to find values for. Use this if you want to find out whether a name that the seller provided has recommended values. If you specify multiple leaf categories in the request, the recommendation engine returns all matching names and values it finds for each of those categories. At the time of this writing, this value is case-sensitive. (Wildcards are not supported.)

Name and CategorySpecific.ItemSpecific can be used in the request. (If you plan to only use one or the other in your application, you should use ItemSpecific, as it may offer more options in the future.)
Max length: 30 (see GeteBayDetails).



Back to top

GetCategorySpecifics Output

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).

See also Samples.

See also the Deprecated Objects link above. Fields presented in this color are deprecated, and fields presented in this color are not returned (or soon will not be returned) or are not operational (or soon will be non-operational).

The XML prototype does not include requester credentials. This is a documentation limitation only (see Standard Requester Credentials for Making Calls).

<?xml version="1.0" encoding="utf-8"?>
<GetCategorySpecificsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
  <!-- Standard Output Fields -->
  <Ack> AckCodeType </Ack>
  <Build> string </Build>
  <CorrelationID> string </CorrelationID>
  <Errors> ErrorType 
    <ErrorClassification> ErrorClassificationCodeType </ErrorClassification>
    <ErrorCode> token </ErrorCode>
    <ErrorParameters ParamID="string"> ErrorParameterType 
      <Value> string </Value>
    </ErrorParameters>
    <!-- ... more ErrorParameters nodes here ... -->
    <LongMessage> string </LongMessage>
    <SeverityCode> SeverityCodeType </SeverityCode>
    <ShortMessage> string </ShortMessage>
  </Errors>
  <!-- ... more Errors nodes here ... -->
  <HardExpirationWarning> string </HardExpirationWarning>
  <Timestamp> dateTime </Timestamp>
  <Version> string </Version>
  <!-- Call-specific Output Fields -->
  <FileReferenceID> string </FileReferenceID>
  <Recommendations> RecommendationsType 
    <CategoryID> string </CategoryID>
    <NameRecommendation> NameRecommendationType 
      <HelpURL> anyURI </HelpURL>
      <Name> string </Name>
      <ValidationRules> RecommendationValidationRulesType 
        <Confidence> int </Confidence>
        <MaxValues> int </MaxValues>
        <MinValues> int </MinValues>
        <Relationship> NameValueRelationshipType 
          <ParentName> string </ParentName>
        </Relationship>
        <!-- ... more Relationship nodes here ... -->
        <SelectionMode> SelectionModeCodeType </SelectionMode>
        <ValueType> ValueTypeCodeType </ValueType>
        <VariationPicture> VariationPictureRuleCodeType </VariationPicture>
        <VariationSpecifics> VariationSpecificsRuleCodeType </VariationSpecifics>
      </ValidationRules>
      <ValueRecommendation> ValueRecommendationType 
        <ValidationRules> RecommendationValidationRulesType 
          <Confidence> int </Confidence>
          <Relationship> NameValueRelationshipType 
            <ParentName> string </ParentName>
            <ParentValue> string </ParentValue>
          </Relationship>
          <!-- ... more Relationship nodes here ... -->
        </ValidationRules>
        <Value> string </Value>
      </ValueRecommendation>
      <!-- ... more ValueRecommendation nodes here ... -->
    </NameRecommendation>
    <!-- ... more NameRecommendation nodes here ... -->
    <Updated> boolean </Updated>
  </Recommendations>
  <!-- ... more Recommendations nodes here ... -->
  <TaskReferenceID> string </TaskReferenceID>
</GetCategorySpecificsResponse>
Return Value Type Occurrence Meaning
Standard Output Fields   [Jump to call-specific fields]
Ack AckCodeType Always A token representing the application-level acknowledgement code that indicates the response status (e.g., success). The AckCodeType list specifies the possible values for Ack.

Applicable values:

•   CustomCode

(out) Reserved for internal or future use.

•   Failure

(out) Request processing failed

•   Success

(out) Request processing succeeded

•   Warning

(out) Request processing completed with warning information being included in the response message


(Not all values in AckCodeType apply to this field.)
Build string Always This refers to the specific software build that eBay used when processing the request and generating the response. This includes the version number plus additional information. eBay Developer Support may request the build information when helping you resolve technical issues.
CorrelationID string Conditionally In most cases, all calls support a MessageID element in the request and a CorrelationID element in the response. If you pass a message ID in a request, we will return the same value in CorrelationID in the response. You can use this for tracking that a response is returned for every request and to match particular responses to particular requests. If you do not pass MessageID in the request, CorrelationID is not returned.

Note: GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL, GetProductFinder, GetProductFinderXSL, and GetProductSearchPage are designed to retrieve very large sets of metadata that change once a day or less often. To improve performance, these calls return cached responses when you request all available data (with no filters). When this occurs, the MessageID and CorrelationID fields aren't applicable. However, if you specify an input filter to reduce the amount of data returned, the calls retrieve the latest data (not cached). When this occurs, MessageID and CorrelationID are applicable.
Errors ErrorType Conditionally,
repeatable: [0..*]
A list of application-level errors (if any) that occurred when eBay processed the request.

See Error Handling.

Errors.ErrorClassification ErrorClassificationCodeType Conditionally API errors are divided between two classes: system errors and request errors.

Applicable values:

•   CustomCode

(out) Reserved for internal or future use.

•   RequestError

(out) An error has occurred either as a result of a problem in the sending application or because the application's end-user has attempted to submit invalid data (or missing data). In these cases, do not retry the request. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the application or data is resolved, resend the request to eBay with the corrected data.

•   SystemError

(out) Indicates that an error has occurred on the eBay system side, such as a database or server down. 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.


Errors.ErrorCode token 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. See the "Errors by Number" document.
Errors.ErrorParameters ErrorParameterType Conditionally,
repeatable: [0..*]
This optional element carries a list of context-specific error variables that indicate details about the error condition. These are useful when multiple instances of ErrorType are returned.
Errors.ErrorParameters
  [ attribute ParamID ]
string Conditionally The index of the parameter in the list of parameter types returned within the error type.
Errors.ErrorParameters.Value string Conditionally The value of the variable (e.g., the attribute set ID)
Errors.LongMessage string Conditionally A more detailed description of the condition that raised the error.
Errors.SeverityCode SeverityCodeType Conditionally Indicates whether the error is a severe error (causing the request to fail) or an informational error (a warning) that should be communicated to the user.

Applicable values:

•   CustomCode

(out) Reserved for internal or future use

•   Error

(out) Application-level error

•   Warning

(out) Warning or informational error


Errors.ShortMessage string Conditionally A brief description of the condition that raised the error.
HardExpirationWarning string Conditionally Expiration date of the user's authentication token. Only returned within the 7-day period prior to a token's expiration. To ensure that user authentication tokens are secure and to help avoid a user's token being compromised, tokens have a limited life span. A token is only valid for a period of time (set by eBay). After this amount of time has passed, the token expires and must be replaced with a new token.
Timestamp dateTime Always This value represents the date and time when eBay processed the request. The time zone of this value is GMT and the format is the ISO 8601 date and time format (YYYY-MM-DDTHH:MM:SS.SSSZ). See Time Values in the eBay Web Services guide for information about this time format and converting to and from the GMT time zone.

Note: GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL, GetProductFinder, GetProductFinderXSL, and GetProductSearchPage are designed to retrieve very large sets of metadata that change once a day or less often. To improve performance, these calls return cached responses when you request all available data (with no filters). When this occurs, this time value reflects the time the cached response was created. Thus, this value is not necessarily when the request was processed. However, if you specify an input filter to reduce the amount of data returned, the calls retrieve the latest data (not cached). When this occurs, this time value does reflect when the request was processed.
Version string Always The version of the response payload schema. Indicates the version of the schema that eBay used to process the request. See "Standard Data for All Calls" in the eBay Web Services Guide for information on using the response version when troubleshooting "CustomCode" values that appear in the response.
Call-specific Output Fields
FileReferenceID string Conditionally Use TaskReferenceID and FileReferenceID as inputs to the downloadFile call in the eBay File Transfer API. That API lets you retrieve a single (bulk) GetCategorySpecifics response with all the Item Specifics recommendations available for the requested site ID. (The downloadFile call downloads a .zip file as an attachment.)

Only returned when CategorySpecificsFileInfo is passed in the request.

See downloadFile in the File Transfer API.

Recommendations RecommendationsType Conditionally,
repeatable: [0..275]
Returned with request version 609 and higher.

Contains the most popular Item Specifics, if any, for a category specified in the request, or contains information about whether the recommendations have changed for that category since the LastUpdateTime you requested.

The most relevant Item Specifics are returned first. If a name has multiple values, the first value is more popular.

This node returns empty (or it's not returned) for a category if there is no applicable data (such as when you request a parent category, a category that has no popular Item Specifics yet, or a duplicate category that was already returned). If you pass in the CategoryID and Name fields together, but no matching values are found for the name, eBay returns the name with no values (even if the name is not recommended).

If GetCategoryFeatures indicates that custom Item Specifics are enabled for a leaf category, but GetCategorySpecifics doesn't return any recommendations for that category, the seller can still specify their own custom Item Specifics in that category.
Recommendations.CategoryID string Conditionally The leaf category in which the associated Item Specifics are popular. This is always a category that you specified in the request.

Only returned for categories that have popular Item Specifics, or when you also pass in the Name field.
Max length: 10.
Recommendations
  .NameRecommendation
NameRecommendationType Conditionally,
repeatable: [0..*]
Contains an Item Specific that eBay recommends as popular within the specified category. Only returned if recommendations are found.
Recommendations
  .NameRecommendation.HelpURL
anyURI Conditionally A page on the eBay Web site with context-specific help tips that provide useful information about this Item Specific. Only returned when an applicable page is available in the system.
Recommendations
  .NameRecommendation.Name
string Conditionally A recommended Item Specific name. Always returned when NameRecommendation is returned.
Recommendations
  .NameRecommendation
  .ValidationRules
RecommendationValidationRulesType Conditionally Constraints that eBay places on this Item Specific. Always returned when NameRecommendation is returned. As a general rule, AddItem and related calls will not be blocked if you don't use eBay's recommendations, except where specified in this documentation.
Recommendations
  .NameRecommendation
  .ValidationRules.Confidence
int Conditionally Indicates eBay's confidence that this is the right name or value, given the data you specified your request. The confidence is based on historical items in the same category, with similar titles (if specified).

For example, in GetItemRecommendations, if your request includes a title with words like "Blue T-Shirt", then Color=Blue is likely to have a higher confidence score than Color=Red in the response. If the title does not include a recognized color value, then Color may still have a high confidence score (based on historical item data in the category), but the scores for Blue and Red may have a more even distribution.

Only returned when IncludeConfidence is true in the request. Not returned when SelectionMode is Prefilled.
Min: 0. Max: 100.
Recommendations
  .NameRecommendation
  .ValidationRules.MaxValues
int Conditionally Maximum number of values that you can specify for this Item Specific in listing requests (like AddItem) in the specified category.

Most Item Specifics can only have one value. When this is greater than 1, your application can present the value recommendations (if any) as a multi-select list to the seller. (See SelectionMode to determine whether the seller needs to choose from eBay's recommendations or not.)
Default: 1.
Recommendations
  .NameRecommendation
  .ValidationRules.MinValues
int Conditionally Minimum number of values that you can specify for this Item Specific in listing requests. Not returned if zero (0).

If 1 or more, it means this Item Specfic is required in listing requests (in the specified category). (Your listing request will return errors if the Item Specific is not present.) If Relationship is also present, it means this Item Specific is required when you specify its parent value in listing requests.
Default: 0.
Recommendations
  .NameRecommendation
  .ValidationRules.Relationship
NameValueRelationshipType Conditionally,
repeatable: [0..*]
Indicates the Item Specific's logical dependency on another Item Specific, if any.

For example, in a clothing category, Size Type could be recommended as a parent of Size, because Size=Small would mean something different to buyers when Size Type=Petite or Size Type=Plus.

Or in the US, a list of cities can vary depending on the state, so State could be recommended as a parent of City.
Recommendations
  .NameRecommendation
  .ValidationRules.Relationship
  .ParentName
string Conditionally The name of another Item Specific that the current value depends on. For example, in a clothing category, "Size Type" could be recommended as a parent of Size.
Recommendations
  .NameRecommendation
  .ValidationRules.SelectionMode
SelectionModeCodeType Conditionally Controls whether you can specify your own name and value in listing requests, or if you need to use a name and/or value that eBay has defined.
Default: FreeText.

Applicable values:

•   FreeText

(out) In listing requests, specify any name or value, or select from the list of recommended values, if present. This is used in most cases.

•   Prefilled

(out) In listing requests, do not specify the name or value because they will be filled in by eBay. In GetItemRecommendations, this indicates that the Item Specific will be pre-filled from a catalog, based on a product ID that you passed in the request. They should be presented as read-only to the seller. If you specify a prefilled value in your listing request when you list with a catalog product, eBay drops the value and uses the value from the catalog instead.

•   SelectionOnly

(out) In listing requests, only specify a value that eBay has recommended. That is, select from the list of recommended values; don't specify your own custom details. If you specify a different value, the listing request may return errors. Rarely used.


(Not all values in SelectionModeCodeType apply to this field.)
Recommendations
  .NameRecommendation
  .ValidationRules.ValueType
ValueTypeCodeType Conditionally The data type (e.g., decimal) that eBay expects the value to adhere to in listing requests. Only returned if the data type is not Text.

As buyers may search on the value you specify in AddItem, the ISBN, UPC, or EAN should match the value that was specified by the publisher or manufacturer.
Default: Text.

Applicable values:

•   CustomCode

(out) Reserved for future use.

•   Decimal

(out) A number with a possible decimal point, e.g. -3.14159. (Item Specifics don't distinguish between float and double.)

•   EAN

(out) European Article Number. Max length 13.

•   ISBN

(out) International Standard Book Number (ISBN). ISBNs can contain either 10 or 13 characters. Max length 13.

•   Text

(out) Free-form text. This is the default. Max length 50 (see GeteBayDetails).

•   UPC

(out) Universal Product Code. Max length 12.


Recommendations
  .NameRecommendation
  .ValidationRules
  .VariationPicture
VariationPictureRuleCodeType Conditionally Indicates whether the name (e.g., Color) can (or must) be used to classify the variation pictures.

Applicable values:

•   CustomCode

(out) Reserved for future use.

•   Disabled

(out) The name cannot be used as the Pictures.VariationSpecificName.

•   Enabled

(out) If the name is used in VariationSpecifics, then it can be used as the Pictures.VariationSpecificName. This is the default for variation-enabled categories.

•   Required

(out) If the name is used in VariationSpecifics, then it must be used as the Pictures.VariationSpecificName.


Recommendations
  .NameRecommendation
  .ValidationRules
  .VariationSpecifics
VariationSpecificsRuleCodeType Conditionally Indicates whether the recommended name/value pair can be used in Item.Variations in AddFixedPriceItem and related calls. For example, a given category could disable a name like Brand in variation specifics (if Brand is only allowed in the item specifics at the Item level). The same category could enable a name like Size for variation specifics (in addition to recommending it for item specifics). If not returned, then the name/value can be used for both variation specifics and item specifics.

Applicable values:

•   CustomCode

(out) Reserved for future use.

•   Disabled

(out) The recommended name/values can't be used in VariationSpecifics (but they can be used in ItemSpecifics). Typically, this occurs when the category doesn't support variations, or if the category requires the name to be the same for all variations in the listing.

•   Enabled

(out) The recommended name (and values, if any) can be used either in the Item Specifics or VariationSpecifics context in listing calls. This is the default for variation-enabled categories.


Recommendations
  .NameRecommendation
  .ValueRecommendation
ValueRecommendationType Conditionally,
repeatable: [0..*]
A recommended value (if any) for the Item Specific name. Only returned when a recommended value is available in the system.
Recommendations
  .NameRecommendation
  .ValueRecommendation
  .ValidationRules
RecommendationValidationRulesType Conditionally Constraints that eBay places on this Item Specific value.

Only returned when you configure your request to include relationships and/or confidence, and a recommended value is available. (Not returned when ExcludeRelationships is true and IncludeConfidence is false.)
Recommendations
  .NameRecommendation
  .ValueRecommendation
  .ValidationRules.Confidence
int Conditionally Indicates eBay's confidence that this is the right name or value, given the data you specified your request. The confidence is based on historical items in the same category, with similar titles (if specified).

For example, in GetItemRecommendations, if your request includes a title with words like "Blue T-Shirt", then Color=Blue is likely to have a higher confidence score than Color=Red in the response. If the title does not include a recognized color value, then Color may still have a high confidence score (based on historical item data in the category), but the scores for Blue and Red may have a more even distribution.

Only returned when IncludeConfidence is true in the request. Not returned when SelectionMode is Prefilled.
Min: 0. Max: 100.
Recommendations
  .NameRecommendation
  .ValueRecommendation
  .ValidationRules.Relationship
NameValueRelationshipType Conditionally,
repeatable: [0..*]
Indicates the Item Specific's logical dependency on another Item Specific, if any.

For example, in a clothing category, Size Type could be recommended as a parent of Size, because Size=Small would mean something different to buyers when Size Type=Petite or Size Type=Plus.

Or in the US, a list of cities can vary depending on the state, so State could be recommended as a parent of City.
Recommendations
  .NameRecommendation
  .ValueRecommendation
  .ValidationRules.Relationship
  .ParentName
string Conditionally The name of another Item Specific that the current value depends on. For example, in a clothing category, "Size Type" could be recommended as a parent of Size.
Recommendations
  .NameRecommendation
  .ValueRecommendation
  .ValidationRules.Relationship
  .ParentValue
string Conditionally The value of another Item Specific that the current value depends on. For example, in a clothing category, if "Size Type" is the ParentName, then "Petite" could be recommended as a parent value for Size=Medium.
Recommendations
  .NameRecommendation
  .ValueRecommendation.Value
string Conditionally A recommended value for the Item Specific. Only returned when a recommended value is available.
Recommendations.Updated boolean Conditionally If true, the recommended Item Specifics for this category have changed since the time you specified (in LastUpdateTime). (In this case, we suggest you retrieve the latest data for the category.) If false, the recommended Item Specifics for this category have not changed since the time you specified.

Only returned when you pass LastUpdateTime in the request.
TaskReferenceID string Conditionally Use TaskReferenceID and FileReferenceID as inputs to the downloadFile call in the eBay File Transfer API. That API lets you retrieve a single (bulk) GetCategorySpecifics response with all the Item Specifics recommendations available for the requested site ID. (The downloadFile call downloads a .zip file as an attachment.)

Only returned when CategorySpecificsFileInfo is passed in the request.

See downloadFile in the File Transfer API.



Back to top

GetCategorySpecifics Detail Controls


Detail Control: DetailLevel

This call does not support varying Detail Levels. You do not need to pass DetailLevel in the request.



Back to top

GetCategorySpecifics Samples

New to making API calls? Please see Routing the Request.

Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.

Sample: Basic Call

Retrieves recommended Item Specifics for a single leaf category.

Description

This sample retrieves recommended Item Specifics for a leaf category on the eBay US site. If recommendations are available for the category, each NameRecommendation node returns the recommended name, validation rules, and recommended values (if any). (Categories that support custom Item Specifics do not necessarily have recommendations. So, this call does not always return data.)

Input

The key input for this sample is CategorySpecific.CategoryID. For the recommendations to be useful in listing calls, the category ID must be a leaf category that is flagged as ItemSpecificsEnabled according to GetCategoryFeatures. The request version (in the HTTP header) is 609 (not shown).

Please note that this sample was created based on a test category (Test Blenders), so this category does not return any recommendations in the Sandbox or in Production. A new sample will be created based on production data in a future release.

XML format (HTTP POST). Also available is the .txt version of this XML.

<?xml version="1.0" encoding="utf-8"?>
<GetCategorySpecificsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
  <WarningLevel>High</WarningLevel>
  <CategorySpecific>
    <CategoryID>20668</CategoryID>
  </CategorySpecific>
  <RequesterCredentials>
    <eBayAuthToken>YOURTOKENHERE</eBayAuthToken>
  </RequesterCredentials>
</GetCategorySpecificsRequest>

Output

In the output, each NameRecommendation node returns the recommended names and validation rules for two Item Specifics (Color and Brand). One of the recommendations also returns two ValueRecommendation nodes with recommended values (KitchenAid and The Magic Bullet).

The validation rules indicate that the Item Specifics are optional in listing calls (MinValues is not returned), only one value is allowed per Item Specific (MaxValues is 1), and you can use one of the recommended values or specify a custom value (SelectionMode is FreeText).

If you try a leaf category and you get no results, it could be because there are no recommendations in that category. Also make sure you are using request version 609 or higher, and make sure the category supports custom Item Specifics.

XML format. Also available is the .txt version of this XML.

<?xml version="1.0" encoding="utf-8"?>
<GetCategorySpecificsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
  <Timestamp>2009-03-19T16:50:39.184Z</Timestamp>
  <Ack>Success</Ack>
  <Version>609</Version>
  <Build>e609_core_Bundled_8177180_R1</Build>
  <Recommendations>
    <CategoryID>20668</CategoryID>
    <NameRecommendation>
      <Name>Color</Name>
      <ValidationRules>
        <MaxValues>1</MaxValues>
        <SelectionMode>FreeText</SelectionMode>
      </ValidationRules>
    </NameRecommendation>
    <NameRecommendation>
      <Name>Brand</Name>
      <ValidationRules>
        <MaxValues>1</MaxValues>
        <SelectionMode>FreeText</SelectionMode>
      </ValidationRules>
      <ValueRecommendation>
        <Value>KitchenAid</Value>
      </ValueRecommendation>
      <ValueRecommendation>
        <Value>The Magic Bullet</Value>
      </ValueRecommendation>
    </NameRecommendation>
  </Recommendations>
</GetCategorySpecificsResponse>



Back to top

GetCategorySpecifics Change History
Version Description
615
2008-04-29
  • VariationPictures, VariationSpecifics (added): VariationSpecifics indicates whether the recommendations can be used in variations. VariationPictures indicates whether a recommended name should be used to classify variation pictures.
611
2009-04-01
  • CategorySpecificsFileInfo, FileReferenceID, TaskReferenceID (added): New IDs can be used with the File Transfer API to download recommendations for all categories in a single call.
609
2009-03-18
  • CategoryItemSpecifics (deprecated): CategoryItemSpecifics is not returned with request version 609 and higher. Use Recommendations instad.
  • CategorySpecific, ExcludeRelationships, IncludeConfidence, Recommendations (added): Three new input nodes and fields. Recomendations is returned with request version 609 and higher.
523
2007-07-25
  • (added) New call.

This document was generated with a customized version of the apireferencedocs tool.

© 2005–2009 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developers Program and API License Agreement.