findBestMatchItemDetailsByKeywords

Deprecation Notice

Beginning January 1, 2013, the Best Match Item Details API will no longer be available. eBay sellers will continue to have access to information about listing performance via the eBay Listing Analytics tool. If your application currently supports the Best Match Item Details API, please direct your users to eBay's Listing Analytics tool instead.

This call helps sellers understand how their item listings are performing and how they are ranked in search results sorted by Best Match. findBestMatchItemDetailsByKeywords retrieves item information using queries that contain keywords. Set siteResultsPerPage to the number of Best Match items you want to consider in a firstPageSummary analysis.

Responses include the following information:

In addition, if you set outputSelector to SellerInfo, the response contains various information pertaining to the item's seller. For more information, see sellerInfo.

Controlling the Output

There are several ways to control the data returned from your BestMatchItemDetails calls. The two main approaches are:

By default, the service returns a specific set of data in the response to your call. Use outputSelector fields to augment the default set of response data.

You have several options to control the items returned from a call, including using itemFilter fields to only return items with specific properties. You can also specify the number if items to return with entriesPerPage, and use post-processing filters that return only specific items from the complete result set.

The following sections give more details on how to control the response data:

Increasing Response Data with Output Selectors

Each item container includes a default set of data for the items matching your search query. If you want more data than the default set of data, use one or more outputSelector fields to expand the result data:

See Detail Controls for specifics on the fields returned with each output selector.

Controlling the Items Returned with Item Filters

Item filters give you control over search results by narrowing the range of items returned. The itemFilter container uses name/value pairs to describe specific filters. You can specify filters for a variety of item properties, including the item condition, number of bids, price range, listing type, and so on. All item filters are optional input parameters.

For example, the following item filter specifies that items in the result must have free shipping:

<itemFilter>
  <Name>FreeShippingOnly</Name>
  <Value>true</Value>
</itemFilter>

Some filters take additional parameter values. Specifically, you must specify the currency value with itemFilter.paramName and itemFilter.paramValue fields when you use the MaxPrice or MinPrice item filters.

For details on how to use item filters, see Refining a Search with Item Filters in the User Guide. The ItemFilterType document has information about the allowed values, usage rules, and dependencies of the different filters.

Specifying the Number of Items to Return

The entriesPerPage field controls the number of items to return from each request.

While related, the siteResultsPerPage value does not control the number of items returned, but it does control the number of items the service considers when it compiles the First Page Summary. This value matches the "Items Per Page" value on the eBay web site, which specifies how many items to return per results page. To best mimic the eBay site behavior, set siteResultsPerPage to 25, 50, 100, or 200.

Returning Featured Items

By default, BestMatchItemDetails calls return Featured items in the response. If you want to view only Best Match items, set ignoreFeatured to true.

Specifying the Items to Return

You can trim the length of the response using postSearchItemFilter to specify the particular items that you would like to inspect. The filter is applied after the search has completed and limits the items returned without affecting their Best Match data with respect to the other items in the response set.

Specifying the Items to Return by Seller

You can trim the length of the response using postSearchSellerFilter to specify the particular sellers that you would like to view. Use this post-search filter to limit the items returned without affecting their Best Match data with respect to the other items that match the search query.

Specifying the eBay Site

The X-EBAY-SOA-GLOBAL-ID HTTP header specifies the eBay site to use for searches. When specifying a global ID (e.g., EBAY-DE for the eBay Germany site), the search response contains only items available on the site specified. If you do not specify a global ID, eBay uses the US site (EBAY-US) by default.

For more information about HTTP headers, see HTTP Headers in Making a BestMatchItemDetails API Call.



Back to top

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

<?xml version="1.0" encoding="utf-8"?>
<findBestMatchItemDetailsByKeywordsRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
  <!-- Call-specific Input Fields -->
  <keywords> string </keywords>
  <!-- Standard Input Fields -->
  <entriesPerPage> int </entriesPerPage>
  <ignoreFeatured> boolean </ignoreFeatured>
  <itemFilter> ItemFilter
    <name> ItemFilterType </name>
    <paramName> token </paramName>
    <paramValue> string </paramValue>
    <value> string </value>
    <!-- ... more value values allowed here ... -->
  </itemFilter>
  <!-- ... more itemFilter nodes allowed here ... -->
  <outputSelector> BestMatchOutputSelectorType </outputSelector>
  <!-- ... more outputSelector values allowed here ... -->
  <postSearchItemFilter> PostSearchItemFilter
    <itemId> string </itemId>
    <!-- ... more itemId values allowed here ... -->
  </postSearchItemFilter>
  <postSearchSellerFilter> PostSearchSellerFilter
    <sellerUserName> string </sellerUserName>
    <!-- ... more sellerUserName values allowed here ... -->
  </postSearchSellerFilter>
  <siteResultsPerPage> int </siteResultsPerPage>
</findBestMatchItemDetailsByKeywordsRequest>
Argument Type Occurrence Meaning
Call-specific Input Fields [Jump to standard fields]
keywords string Required Specify one or more words to use as a search query for finding Best Match information. By default, keyword queries search item titles only. If you repeat this field in the request, the BestMatchItemDetails Service only recognizes the last keywords field.

The words "and" and "or" are treated like any other words; use "and", "or", or "the" only if you are searching for listings that contain these words.

You can incorporate wildcards into a multi-word search, such as "ap*%20ip*". In this case, the response can contain results for "apple ipod", among other matches.

If you are using a URL request and your keyword query consists of multiple words, use "%20" separate the words. For example, use Harry%20Potter to search for items containing those words, in any order.

See Searching by Keywords for a list of valid wildcard characters.

Standard Input Fields  
entriesPerPage int Optional Specifies the total number of unique items returned per page in the result set.

Because a single item can be listed in both the Featured and Best Match groups, and because items can be listed with different variations, it is possible for a single item to be returned in multiple item containers. This can result in more item containers returned than the number you specify in entriesPerPage.

If you do not specify an entriesPerPage value, the service returns all items matching your query. Maximum value is 1000. In the case of media PDP pages, entriesPerPage is ignored, and a fixed number of items is returned.
Default: 1000.
ignoreFeatured boolean Optional Specifies whether or not to include Featured items in the response. The value is false by default (Featured items are included in the response).
Default: false.
itemFilter ItemFilter Optional,
repeatable: [0..*]
Reduces the number of items returned in the response according to the filters you specify.
itemFilter.name ItemFilterType Optional Specify the name of the item filter you want to use. The itemFilter name must have a corresponding value. You can apply multiple itemFilter Name/Value pairs in a single request. See the ItemFilterType type documentation for more information about the allowed values, usage rules, and dependencies.

Refer to the following samples to see itemFilters in action:
  Using itemFilters to define a price range
  Using itemFilters to search for used Buy It Now items

Applicable values: See name.
itemFilter.paramName token Optional In addition to itemFilter Name/Value pairs, some itemFilters use an additional parameter Name/Value pair. Specifically, filters that use currency values (MaxPrice and MinPrice) make use of addition parameters. When you use these itemFilters, set paramName to Currency and provide the currency ID in paramValue.

For example, if you use the MaxPrice itemFilter, you will need to specify a parameter Name of Currency with a parameter Value that specifies the type of currency desired.

Note that for MaxPrice and MinPrice itemFilters, the default value for paramName is Currency.
itemFilter.paramValue string Optional The currency value associated with the respective itemFilter parameter Name.

Usually paramName is set to Currency and paramValue is set to the currency type in which the monetary transaction occurs. For a list of possible currency enumeration values, see currencyId Values.

Note that for MaxPrice and MinPrice itemFilters, the default value for paramValue is USD.
itemFilter.value string Optional,
repeatable: [1..*]
The value associated with the respective itemFilter Name.
outputSelector BestMatchOutputSelectorType Optional,
repeatable: [0..*]
Specifies fields that you want returned in the response. The fields returned by the specified output selector are returned in addition to the default set of response fields.

Applicable values:

•   FirstPageSummary

Includes an analysis of the Best Match items that appear on the first page of the result set. The analysis is presented at the bottom of the query response and sorts items into two listing-format groups: Auction and Fixed Price. In this analysis, AuctionWithBIN items are grouped with Auction items and StoreInventory items are grouped with Fixed Price items.
See Detail Controls for more information on the information returned with this Output Selector.

Note: FirstPageSummary is not currently supported with findBestMatchItemDetailsByProduct.

•   SellerInfo

Includes seller information for each item in the response.
See Detail Controls for more information on the information returned with this Output Selector.


postSearchItemFilter PostSearchItemFilter Optional Return only the items that match the specified itemId values.
postSearchItemFilter.itemId string Optional,
repeatable: [1..*]
The item identification number of the item you want to inspect. Repeat the element if you want to inspect more than a single item. If this element is not present, item filtering does not occur.

The filter is applied after the search has completed--the Best Match data associated with the returned items is not changed as a result of the filtering.
postSearchSellerFilter PostSearchSellerFilter Optional Return only items matching the specified sellerUserName values.
postSearchSellerFilter
  .sellerUserName
string Optional,
repeatable: [1..*]
User name of the seller whose items you want to inspect. Repeat the element if you want to inspect items from more than a single seller. If this element is not present, seller filtering does not occur.

The filter is applied after the search has completed--the Best Match data associated with the returned items is not changed as a result of the filtering.
siteResultsPerPage int Required This value corresponds to the "Items Per Page" selector on the eBay site where you can select to view 25, 50, 100, or 200 items on a results page.

siteResultsPerPage does not specify how many items to return from your BestMatchItemDetails queries. Instead, the value specifies how many entries to assess in the FirstPageSummary report.

Because FirstPageSummary takes into account only Best Match items (the report does not include Featured items), siteResultsPerPage takes effect when the number of Best Match items returned in a query is greater than the value set for siteResultsPerPage. In this case, firstPageSummary.searchResultsSampleSize is trimmed to the value set in siteResultsPerPage.

To best correlate your FirstPageSummary results with what appears on the eBay site, mimic the values available on the site and set the value of siteResultsPerPage to 25, 50, 100, or 200.



Back to top

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

<?xml version="1.0" encoding="utf-8"?>
<findBestMatchItemDetailsByKeywordsResponse xmlns="http://www.ebay.com/marketplace/search/v1/services">
  <!-- Call-specific Output Fields -->
  <firstPageSummary> FirstPageSummary
    <itemGroupSummary itemGroup="string" itemGroupName="string" itemGroupCount="int"> ItemGroupSummary
      <endTimeRange> DurationRange
        <max> duration </max>
        <min> duration </min>
      </endTimeRange>
      <freeShippingItemsCount> int </freeShippingItemsCount>
      <priceRange> AmountRange
        <max currencyId="string"> Amount (double) </max>
        <min currencyId="string"> Amount (double) </min>
      </priceRange>
      <productDetailsItemsCount> int </productDetailsItemsCount>
      <searchResultSampleSize> int </searchResultSampleSize>
      <topRatedSellerItemsCount> int </topRatedSellerItemsCount>
    </itemGroupSummary>
    <!-- ... more itemGroupSummary nodes allowed here ... -->
  </firstPageSummary>
  <!-- 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>
  <searchResult count="int"> BestMatchSearchResult
    <searchItemGroup itemGroup="string" itemGroupName="string" itemGroupCount="int"> SearchItemGroup
      <item> BestMatchSearchItem (SearchItem)
        <autoPay> boolean </autoPay>
        <bestMatchData> BestMatchData
          <freeShipping> boolean </freeShipping>
          <impressionCountRange> LongRange
            <max> long </max>
            <min> long </min>
          </impressionCountRange>
          <salesCount> int </salesCount>
          <salesPerImpression> double </salesPerImpression>
          <salesPerViewItem> double </salesPerViewItem>
          <viewItemCount> int </viewItemCount>
          <viewItemPerImpression> double </viewItemPerImpression>
          <watchCount> int </watchCount>
        </bestMatchData>
        <charityId> string </charityId>
        <compatibility> string </compatibility>
        <country> token </country>
        <galleryPlusPictureURL> anyURI </galleryPlusPictureURL>
        <!-- ... more galleryPlusPictureURL values allowed here ... -->
        <galleryURL> anyURI </galleryURL>
        <globalId> token </globalId>
        <itemId> string </itemId>
        <itemRank> int </itemRank>
        <itemRankWithinGroup> int </itemRankWithinGroup>
        <listingInfo> ListingInfo
          <bestOfferEnabled> boolean </bestOfferEnabled>
          <buyItNowAvailable> boolean </buyItNowAvailable>
          <buyItNowPrice currencyId="string"> Amount (double) </buyItNowPrice>
          <convertedBuyItNowPrice currencyId="string"> Amount (double) </convertedBuyItNowPrice>
          <endTime> dateTime </endTime>
          <gift> boolean </gift>
          <listingType> token </listingType>
          <startTime> dateTime </startTime>
        </listingInfo>
        <location> string </location>
        <paymentMethod> token </paymentMethod>
        <!-- ... more paymentMethod values allowed here ... -->
        <postalCode> string </postalCode>
        <primaryCategory> Category
          <categoryId> string </categoryId>
          <categoryName> string </categoryName>
        </primaryCategory>
        <productId type="string"> ProductId (string) </productId>
        <quantityAvailable> int </quantityAvailable>
        <quantitySold> int </quantitySold>
        <secondaryCategory> Category
          <categoryId> string </categoryId>
          <categoryName> string </categoryName>
        </secondaryCategory>
        <sellerInfo> SellerInfo
          <feedbackRatingStar> token </feedbackRatingStar>
          <feedbackScore> long </feedbackScore>
          <positiveFeedbackPercent> double </positiveFeedbackPercent>
          <sellerUserName> string </sellerUserName>
          <topRatedSeller> boolean </topRatedSeller>
        </sellerInfo>
        <sellingStatus> SellingStatus
          <bidCount> int </bidCount>
          <convertedCurrentPrice currencyId="string"> Amount (double) </convertedCurrentPrice>
          <currentPrice currencyId="string"> Amount (double) </currentPrice>
          <sellingState> token </sellingState>
          <timeLeft> duration </timeLeft>
        </sellingStatus>
        <shippingInfo> ShippingInfo
          <shippingServiceCost currencyId="string"> Amount (double) </shippingServiceCost>
          <shippingType> token </shippingType>
          <shipToLocations> string </shipToLocations>
          <!-- ... more shipToLocations values allowed here ... -->
        </shippingInfo>
        <storeInfo> Storefront
          <storeName> string </storeName>
          <storeURL> anyURI </storeURL>
        </storeInfo>
        <subtitle> string </subtitle>
        <title> string </title>
        <viewItemURL> anyURI </viewItemURL>
      </item>
      <!-- ... more item nodes allowed here ... -->
    </searchItemGroup>
    <!-- ... more searchItemGroup nodes allowed here ... -->
    <totalEntries> int </totalEntries>
  </searchResult>
  <timestamp> dateTime </timestamp>
  <version> string </version>
</findBestMatchItemDetailsByKeywordsResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
firstPageSummary FirstPageSummary Always Analysis of the Best Match items that appear on the first page of the result set.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary
ItemGroupSummary Always,
repeatable: [1..*]
Container for one of the listing formats covered in the FirstPageSummary analysis. The listing formats are Auction and Fixed Price, and the analysis of each includes information such as price, shipping costs, and so on.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary
  [ attribute itemGroup ]
string Always Format (group) for which the data is being returned.
firstPageSummary
  .itemGroupSummary
  [ attribute itemGroupName ]
string Always Name of the group. Current group values are Auction and FixedPrice.
firstPageSummary
  .itemGroupSummary
  [ attribute itemGroupCount ]
int Always Number of items in the sample belonging to this group.
firstPageSummary
  .itemGroupSummary.endTimeRange
DurationRange Always Minimum and maximum ending times for the items on the first page.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary.endTimeRange
  .max
duration Always Maximum time duration value.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary.endTimeRange
  .min
duration Always Minimum time duration value.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary
  .freeShippingItemsCount
int Always Number of free shipping items for the current format (group).

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary.priceRange
AmountRange Always Minimum and maximum current prices for the items on first page.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary.priceRange
  .max
Amount (double) Always Maximum amount value.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary.priceRange
  .max
  [ attribute currencyId ]
string Always Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
firstPageSummary
  .itemGroupSummary.priceRange
  .min
Amount (double) Always Minimum amount value.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary.priceRange
  .min
  [ attribute currencyId ]
string Always Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
firstPageSummary
  .itemGroupSummary
  .productDetailsItemsCount
int Always Number of catalog items on the first page.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary
  .searchResultSampleSize
int Always Number of items included in the FirstPageSummary analysis.

The First Page Summary includes only Best Match items (it does not include Featured items). With this, searchResultSampleSize equals whichever is less: the number of Best Match items returned in the response or the number set in siteResultsPerPage.

outputSelector: FirstPageSummary
firstPageSummary
  .itemGroupSummary
  .topRatedSellerItemsCount
int Always Number of items on the first page that belong to a Top-Rated Seller.

outputSelector: FirstPageSummary
Standard Output Fields  
ack AckValue Always Indicates whether or not the request was successful, or if errors or warnings were generated during the processing of the request.

Applicable values:

•   Failure

eBay encountered a fatal error during the processing of the request, causing the request to fail. When a serious application-level error occurs, the error is returned instead of the business data.

•   PartialFailure

eBay successfully processed the request, but one or more non-fatal errors occurred during the processing. For best results, requests should return without warning messages. Inspect the message details and resolve any problems before resubmitting the request.

•   Success

eBay successfully processed the request and the business data is returned in the response. Note that it is possible for a response to return Success, but still not contain the expected data in the result.

•   Warning

The request was successfully processed, but eBay encountered a non-fatal error during the processing. For best results, requests should return without warnings. Inspect the warning details and resolve the problem before resubmitting the request.


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.


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 Merchandising 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 The name of the input parameter returned with the error. Inspecting the parameter (or its input value) will often aid in understanding the cause of the error. Not all error messages contain this value.
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.


errorMessage.error.subdomain string Conditionally Name of the subdomain in which the error occurred.
subdomain values:
Search
The error is specific to the search services.
MarketplaceCommon
The error is common to all Marketplace services.
searchResult BestMatchSearchResult Always Container for the list of returned items. The items are sorted according to where they appear on search page: in the Featured or Search Result (BestMatch) group, or under Condition.

outputSelector: none (not controlled by outputSelector)
searchResult
  [ attribute count ]
int Conditionally Total number of items returned. Not returned if no items match the search query (totalEntries=0). This value is usually equal to the input value for entriesPerPage, unless the query matches fewer items than the value specified for entriesPerPage.
searchResult.searchItemGroup SearchItemGroup Always,
repeatable: [1..*]
Container for items that match the associated itemGroupName parameter. For search and non-media PDP, it contains featured and mixed result-set groups. For media PDP, it contains item condition groups: Brand New, Like New, Very Good, Good and Acceptable.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  [ attribute itemGroup ]
string Always Criteria according to which the items in the container are grouped. Within searchItemGroup elements, the possible values are Placement (which means placement in the result set, under the Featured results or under the Best Match results) and Condition (for media products). Within itemGroupSummary elements, the value is always Format.
searchResult.searchItemGroup
  [ attribute itemGroupName ]
string Always Name of the group to which the group of items belongs. Possible values are BestMatch and featured. Also, for Media products, the itemGroupName can be the product condition: Brand New, Like New, Very Good, Good, and Acceptable.
searchResult.searchItemGroup
  [ attribute itemGroupCount ]
int Always Number of items in the group.
searchResult.searchItemGroup
  .item
BestMatchSearchItem (SearchItem) Always,
repeatable: [1..*]
Container for the details pertaining to a single item listing.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.autoPay
boolean Always If true, the seller requests immediate payment for the item. If false (or not specified), immediate payment is not requested. If true, it does not indicate that the item is still a candidate for purchase via immediate payment, however it does indicate the original status of the item listing.

Only applicable to items listed on PayPal-enabled sites and in categories that support immediate payment (see AutoPayEnabled in GetCategories). In addition, the seller must have a Premier or Business PayPal account (see PayPalAccountType in GetUser) and they must accept PayPal as a payment method (see item.paymentMethod).

See the eBay Web Services guide section on Requiring Immediate Payment for additional requirements and dependencies. Also see the section on working with the eBay Motors site for additional rules. Not applicable to Half.com.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
BestMatchData Conditionally Container for the best match data for the item. This data is returned only for items that belong to the authorized caller; the service does not return Best Match data for items that were not listed by the caller of the function.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .freeShipping
boolean Conditionally If true, the item is considered a free shipping item by BestMatch.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .impressionCountRange
LongRange Conditionally Total number of times the item surfaced on a search results page. The impression count is returned as a range.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .impressionCountRange.max
long Conditionally Maximum impression range value.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .impressionCountRange.min
long Conditionally Minimum impression range value.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData.salesCount
int Conditionally Number of item sales. Note that a single sale can include one or more items.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .salesPerImpression
double Conditionally Ratio of sale transactions to the mid-point (between the minimum and maximum number) of the impression range. Note that the number of items sold can exceed the number of transactions (sales) if a single sale has an item quantity greater than one. An "impression" is any time a buyer sees a search results page that includes the listing. Impression counts can be greater than unique item views.

Note that salesPerImpression impacts Best Match results for only Fixed Price items.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .salesPerViewItem
double Conditionally Ratio of sales to unique views of the item.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .viewItemCount
int Conditionally Number of unique item views.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData
  .viewItemPerImpression
double Conditionally Ratio of unique item-views to the mid-point of the impression range. An "impression" is any time a buyer sees a search results page that includes the listing whereas "unique views" counts each user only once.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.bestMatchData.watchCount
int Conditionally Number of watches placed on the item.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.charityId
string Conditionally A unique identification number assigned by eBay to registered nonprofit charity organizations. Not returned if the item is not listed as a charity item.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.compatibility
string Conditionally Starting in March 2010, parts compatibility will be supported in limited Parts & Accessories categories for eBay Motors in the Production environment. For these categories, a compatible application will always be a vehicle, which is specified by a combination of make, model, and year. Optionally, trim and engine data may also be specifed for a vehicle.

This field returns terms from the keywords in the request that match values in one of the item's compatible applications (vehicles). If the keywords match more than one compatible application for an item, the field returns "Two or more of your vehicles" to indicate multiple matches.

For example, keyword queries that contain vehicle details, such as make and model (e.g., Honda Accord), in addition to keywords for the part or accessory, will search through structured parts compatibility information for matching listings. If an item has a 2007 Honda Accord (any trim or engine) specified as a compatible application, and the item matches the part or accessory terms in the query, this field will return the matching terms from the query (i.e., Honda Accord).

Parts compatibility is an eBay feature that uses structured data to associate compatible assemblies with parts and accessories listed on eBay. For example, parts compatibility enables sellers to specify accurately and comprehensively the vehicles on which a side mirror or a rim fit. Parts compatibility improves search relevancy and frees up item titles and descriptions for more useful descriptions of the part.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.country
token Always Two-letter ISO 3166 country code to indicate the country where the item is located. For English names that correspond to each code (e.g., KY="Cayman Islands"), see the ISO site:
http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.galleryPlusPictureURL
anyURI Conditionally,
repeatable: [0..*]
URL for the Gallery Plus image. The size of Gallery Plus images (up to 400 x 400 pixels) is bigger than the size of standard gallery images. In site search results, you can view the Gallery Plus image by hovering over or clicking the Enlarge link or magifying glass icon. The image uses one of the following graphics formats: JPEG, BMP, TIFF, or GIF. This field is only returned when the seller has opted for the Gallery Plus option for the given item.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.galleryURL
anyURI Conditionally URL for the picture used for the Gallery thumbnail, if any. The image uses one of the following graphics formats: JPEG, BMP, TIF, or GIF. Only returned if the seller chose to show a gallery image.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.globalId
token Always A token that represents the eBay site on which the item was originally listed. For example, if the item was listed on the eBay US site, the value is US. If item was listed on the eBay Germany site, the value is DE. For a list of possible enumeration values and how they map to eBay sites, see Global ID Values.

Where the item was listed can affect the values of converted (localized) prices. This occurs when the site from which your request is sent is different from the site on which the item was listed.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.itemId
string Always An identification number that uniquely identifies a listed item. eBay generates this ID when an item is listed and the ID is unique across all eBay sites.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.itemRank
int Always Absolute rank of the item, across the groups, in relation to all returned items.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.itemRankWithinGroup
int Always Rank of the item in relation to the other returned items in the same group. Item groups are Featured and Best Match. For media items, groups can be Brand New, Like New, Very Good, Good, and Acceptable.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo
ListingInfo Always Container for listing information related to the item. The information includes the item's listing format (online auction, fixed price, and so on), if Buy It Now is enabled, and more.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo
  .bestOfferEnabled
boolean Always Shows whether or not the seller will accept a Best Offer for the associated item. Best Offer allows a buyer to make a lower-priced binding offer on a fixed price item. Buyers cannot see how many offers have been made (only the seller can see this information). Buyers must use the eBay Web site to make a Best Offer.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo
  .buyItNowAvailable
boolean Always Used with competitive-bid auctions, the associated item includes a Buy It Now option if this value returns true. Buy It Now lets a user purchase the item at a fixed price, effectively ending the auction. On most sites, the Buy It Now option is removed (and this value returns false) once a valid bid is made on the associated item (a valid bid could be a bid above the reserve price).

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo
  .buyItNowPrice
Amount (double) Always The Buy It Now Price of the item (if any), in the currency of the site on which the item was listed. You can use this field to determine if the item was originally listed with Buy It Now, even if the Buy It Now option is no longer available for the item.

Only returned if an item was listed with Buy It Now.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo
  .buyItNowPrice
  [ attribute currencyId ]
string Always Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
searchResult.searchItemGroup
  .item.listingInfo
  .convertedBuyItNowPrice
Amount (double) Always The listing's Buy It Now Price (if any), converted into the currency of the site to which you sent your search request. For active items, refresh this value every 24 hours to pick up possible changes in conversion rates.

Price fields are returned as doubles, and not necessarily in the traditional monetary format of the site's country. For example, a US Dollar value might be returned as 3.880001 instead of 3.88.

Only returned if an item was listed with Buy It Now.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo
  .convertedBuyItNowPrice
  [ attribute currencyId ]
string Always Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
searchResult.searchItemGroup
  .item.listingInfo.endTime
dateTime Always Time stamp specifying when the listing is scheduled to end, or the actual end time if the item listing has ended. 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.

Note: For items that are "Good Till Canceled," this value is 5 minutes later than the actual end time of the item. This difference in time is intended to facilitate the renewal of these items' end times (which occurs every 30 days).


outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo.gift
boolean Always If true, a small gift icon displays next the listing's title in search and browse pages.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo.listingType
token Always The format of the listing, such as online auction, fixed price, or advertisement.
listingType values:
AdFormat
Advertisement to solicit inquiries on listings such as real estate. Permits no bidding on the item, service, or property. To express interest, a buyer fills out a contact form that eBay forwards to the seller as a lead. This format does not enable buyers and sellers to transact online through eBay and eBay Feedback is not available for AdFormat listings.
Auction
Competitive-bidding online auction format. Buyers engage in competitive bidding, although Buy It Now may be offered as long as no valid bids have been placed. Online auctions are listed on eBay.com; they can also be listed in a seller's eBay Store if the seller is a Store owner.
AuctionWithBIN
Same as Auction format, but Buy It Now is enabled. AuctionWithBIN changes to Auction if a valid bid has been placed on the item. Valid bids include bids that are equal to or above any specified reserve price.
Classified
Classified Ads connect buyers and sellers, who then complete the sale outside of eBay. This format does not enable buyers and sellers to transact online through eBay and eBay Feedback is not available for these listing types.
FixedPrice
A fixed-price listing. Auction-style bidding is not enabled. On some sites, this auction format is also known as "Buy It Now Only" (do not confuse this with the Buy It Now option available on competitive-bidding auctions). Fixed-price listings appear on eBay.com and they can be listed in a seller's eBay Store (if the seller is a Store owner).
StoreInventory
A fixed-price format for eBay Store sellers. Store Inventory listings appear after other listings in regular search and browse pages on eBay. Store items have a lower Insertion Fee and longer listing durations. This selling type can only be specified by sellers who have an eBay Store. Store Inventory listings are listed on eBay.com as well as in the seller's eBay Store.


outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.listingInfo.startTime
dateTime Always Time stamp that eBay recorded as the moment the listing was made available. 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.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.location
string Always Physical location of the item, as specified by the seller. (This gives a general indication of from where the item will be shipped or delivered.)

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.paymentMethod
token Always,
repeatable: [1..*]
Identifies the payment method(s) the seller will accept from the buyer. An example is PayPal.

Note: If the seller accepts only PayPal, the buyer can still pay with a credit card. PayPal supports major credit cards.

Payment methods are not applicable to eBay Real Estate advertisement listings or other Classified Ad format listings.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.postalCode
string Conditionally The postal code of where the item is located. Not returned if seller did not specify their postal code.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.primaryCategory
Category Always Container for the numeric ID and name of the first (or only) category in which the item is listed. Note that listings can appear in more than a single category.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.primaryCategory
  .categoryId
string Always The unique ID of a category on the specified eBay site.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.primaryCategory
  .categoryName
string Always Display name of a category as it appears on the eBay Web site. This is a fully qualified category breadcrumb (e.g., Computers & Networking:Laptops, Notebooks).

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.productId
ProductId (string) Conditionally Product ID type and product ID code if the item is a catalogue item. Not returned if the item is not listed as a product.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.productId
  [ attribute type ]
string Conditionally Specifies or returns the product type and product ID.
productId types:
ReferenceID
The global reference ID (ePID) for an eBay catalog product. A reference ID is a fixed reference to a product, regardless of version. Use FindProducts in the Shopping API to determine valid ePID values that you can use as input to findItemsByProduct. Each product in the response includes its reference ID.
ISBN
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 Reference ID to search for that book. Max length of corresponding value: 13
UPC
UPC value for products in Music (e.g., CDs), DVDs & Movies, and Video Games categories (or domains). If you know a product's UPC, you can use this instead of the eBay Reference ID to search for that product. Max length of corresponding value: 12
EAN
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 Reference ID to search for that book. Max length of corresponding value: 13

For example:
  • To search using an ISBN, specify productID.type=ISBN and set productID.value to an ISBN value.
  • To search using an eBay Product Reference ID, specify productID.type=ReferenceID and set productID.value to an eBay Product Reference ID (ePID) value. If you do not know the eBay Product Reference ID of a product, use the Shopping FindProducts call to retrieve the desired ePID value.
searchResult.searchItemGroup
  .item.quantityAvailable
int Always Quantity of available items in the listing.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.quantitySold
int Always Number of listing items sold.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.secondaryCategory
Category Conditionally Container for the numeric ID and name of the second category in which the item is listed, if the seller listed in a secondary category.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.secondaryCategory
  .categoryId
string Conditionally The unique ID of a category on the specified eBay site.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.secondaryCategory
  .categoryName
string Conditionally Display name of a category as it appears on the eBay Web site. This is a fully qualified category breadcrumb (e.g., Computers & Networking:Laptops, Notebooks).

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.sellerInfo
SellerInfo Always Container for information about the listing's seller. Returned if outputSelector is set to SellerInfo.

outputSelector: SellerInfo
searchResult.searchItemGroup
  .item.sellerInfo
  .feedbackRatingStar
token Always Visual indicator of user's feedback score.
feedbackRatingStar values:
None
No graphic displayed, feedback score 0-9.
Yellow
Yellow Star, feedback score 10-49.
Blue
Blue Star, feedback score 50-99.
Turquoise
Turquoise Star, feedback score 100-499.
Purple
Purple Star, feedback score 500-999.
Red
Red Star, feedback score 1,000-4,999.
Green
Green Star, feedback score 5,000-9,999.
YellowShooting
Yellow Shooting Star, feedback score 10,000-24,999.
TurquoiseShooting
Turquoise Shooting Star, feedback score 25,000-49,999.
PurpleShooting
Purple Shooting Star, feedback score 50,000-99,999.
RedShooting
Red Shooting Star, feedback score 100,000-499,000 and above.
GreenShooting
Green Shooting Star, feedback score 500,000-999,000 and above.
SilverShooting
Silver Shooting Star, feedback score 1,000,000 or more.


outputSelector: SellerInfo
searchResult.searchItemGroup
  .item.sellerInfo.feedbackScore
long Always The aggregate feedback score of the seller. A seller's feedback score is their net positive feedback minus their net negative feedback. Feedback scores are a quantitative expression of the desirability of dealing with a seller in a transaction.

outputSelector: SellerInfo
searchResult.searchItemGroup
  .item.sellerInfo
  .positiveFeedbackPercent
double Always The percentage value of a user's positive feedback (their positive feedbackScore divided by their total positive plus negative feedback, based on the past twelve-months).

outputSelector: SellerInfo
searchResult.searchItemGroup
  .item.sellerInfo
  .sellerUserName
string Always The seller's eBay user name; a unique value.

outputSelector: SellerInfo
searchResult.searchItemGroup
  .item.sellerInfo
  .topRatedSeller
boolean Always Indicates whether or not the seller is a Top-Rated Seller.

outputSelector: SellerInfo
searchResult.searchItemGroup
  .item.sellingStatus
SellingStatus Always Signifies the listing's selling status in eBay's processing workflow.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.sellingStatus.bidCount
int Conditionally The number of bids that have been placed on the item. Returned only if the selling format is an auction.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.sellingStatus
  .convertedCurrentPrice
Amount (double) Always The listing's current price converted to the currency of the site from which the request is sent (the request's globalId value).

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.sellingStatus
  .convertedCurrentPrice
  [ attribute currencyId ]
string Always Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
searchResult.searchItemGroup
  .item.sellingStatus
  .currentPrice
Amount (double) Always The current price of the item given in the currency of the site on which the item is listed. That is, currentPrice is returned in the original listing currency.

For competitive-bid item listings, currentPrice is the current minimum bid price if the listing has no bids, or the current high bid if the listing has bids. A Buy It Now price has no effect on currentPrice.

For Basic Fixed-Price (FixedPrice), Store Inventory (StoreInventory), and Ad Format (AdFormat) listings, currentPrice is the current fixed price.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.sellingStatus
  .currentPrice
  [ attribute currencyId ]
string Always Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
searchResult.searchItemGroup
  .item.sellingStatus
  .sellingState
token Always Specifies the listing's status in eBay's processing workflow. If an item's EndTime is in the past, but there are no details about the buyer or high bidder (and the user is not anonymous), you can use sellingState information to determine whether eBay has finished processing the listing.
sellingState values:
Active
The listing is still live. It is also possible that the auction has recently ended, but eBay has not completed the final processing (e.g., the high bidder is still being determined).
Canceled
The listing has been canceled by either the seller or eBay.
Ended
The listing has ended and eBay has completed the processing of the sale (if any).


outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.sellingStatus.timeLeft
duration Always Time left before the listing ends. The duration is represented in the ISO 8601 duration format (PnYnMnDTnHnMnS). For listings that have ended, the time left is PT0S (zero seconds). See the "duration" type for information about this time format.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.shippingInfo
ShippingInfo Always Container for information about the listing's shipping details.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.shippingInfo
  .shippingServiceCost
Amount (double) Conditionally The basic shipping cost of the item. Not returned if the shipping method is calculated or free.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.shippingInfo
  .shippingServiceCost
  [ attribute currencyId ]
string Conditionally Currency in which the monetary amount is specified.

For a list of currencyId enumeration values, see currencyId Values.
searchResult.searchItemGroup
  .item.shippingInfo
  .shippingType
token Always The shipping method that was used for determining the cost of shipping. For example: flat rate, calculated, or free. The seller specifies the available shipping services when they list the item.
shippingType values:
Calculated
The calculated shipping model: The posted cost of shipping is based on the buyer-selected shipping service, chosen by the buyer from the different shipping services offered by the seller. The shipping costs are calculated by eBay and the shipping carrier, based on the buyer's address. Any packaging and handling costs established by the seller are automatically rolled into the total.
CalculatedDomesticFlatInternational
The seller specified one or more calculated domestic shipping services and one or more flat international shipping services.
Flat
The flat-rate shipping model: The seller establishes the cost of shipping and any shipping insurance, regardless of what any buyer-selected shipping service might charge the seller.
FlatDomesticCalculatedInternational
The seller specified one or more flat domestic shipping services and one or more calculated international shipping services.
Free
Free is used when the seller has declared that shipping is free for the buyer.
FreePickup
No shipping available, the buyer must pick up the item from the seller.
Freight
The freight shipping model: the cost of shipping is determined by a third party, FreightQuote.com, based on the buyer's address (postal code).
FreightFlat
The flat rate shipping model: the seller establishes the cost of freight shipping and freight insurance, regardless of what any buyer-selected shipping service might charge the seller.
NotSpecified
The seller did not specify the shipping type.


outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.shippingInfo
  .shipToLocations
string Conditionally,
repeatable: [0..*]
An international location or region to which the seller is willing to ship the item. Returned only for items that have shipToLocations specified. For a complete list of shipping locations, see shipToLocations.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.storeInfo
Storefront Conditionally Container for information about the eBay store in which the item was listed. Not returned if the item is not listed in an eBay store.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.storeInfo.storeName
string Conditionally The name of the seller's eBay Store.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.storeInfo.storeURL
anyURI Conditionally The URL of the eBay Store page.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.subtitle
string Conditionally Subtitle of the item. Only returned if the seller included a subtitle with the listing.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.title
string Always Name of the item listing as it appears in search and browse results.

outputSelector: none (not controlled by outputSelector)
searchResult.searchItemGroup
  .item.viewItemURL
anyURI Always The URL to view this listing on eBay. This URL is optimized to support natural search. That is, this URL is designed to make items on eBay easier to find via popular Internet search engines.

Specifically, the URL specifies the item title and it is optimized for natural search: " _W0QQ" is like "?" (question mark), "QQ" is like "&" (ampersand), and "Z" is like "=" (equals sign). Do not modify the returned URL syntax in your application. For example, eBay won't recognize the URL if you change QQ to ?. In the Sandbox environment and on the Hong Kong site (site ID 201), the data returned in this field is a standard ViewItem URL, rather than the ViewItem URL for Natural Search that is normally returned in the Production environment.

outputSelector: none (not controlled by outputSelector)
searchResult.totalEntries int Always Total number of items in all item groups that match the query.

outputSelector: none (not controlled by outputSelector)
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.



Back to top

findBestMatchItemDetailsByKeywords Detail Controls


Detail Control: DetailLevel

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


Detail Control: outputSelector

The outputSelector input field gives you control over which call-specific output fields may be returned from your queries. outputSelector accepts a set of preset values, each of which permits the return of a different set of fields. (All standard output fields are returned regardless of outputSelector.)

The table below details the fields that each outputSelector value controls. In addition, the table includes a none column that shows the fields that are not controlled by outputSelector settings. Note that some fields are returned only when certain conditions are met; see the associated field documentation for a clarification of these conditions.

YThe field is always returned.
(Y)The field is conditionally returned. See the field documentation for clarification of conditions.

Output Field none FirstPageSummary SellerInfo
firstPageSummary-Y-
firstPageSummary.itemGroupSummary-Y-
firstPageSummary.itemGroupSummary.endTimeRange-Y-
firstPageSummary.itemGroupSummary.endTimeRange.max-Y-
firstPageSummary.itemGroupSummary.endTimeRange.min-Y-
firstPageSummary.itemGroupSummary.freeShippingItemsCount-Y-
firstPageSummary.itemGroupSummary.priceRange-Y-
firstPageSummary.itemGroupSummary.priceRange.max-Y-
firstPageSummary.itemGroupSummary.priceRange.min-Y-
firstPageSummary.itemGroupSummary.productDetailsItemsCount-Y-
firstPageSummary.itemGroupSummary.searchResultSampleSize-Y-
firstPageSummary.itemGroupSummary.topRatedSellerItemsCount-Y-
searchResultY--
searchResult.searchItemGroupY--
searchResult.searchItemGroup.itemY--
searchResult.searchItemGroup.item.autoPayY--
searchResult.searchItemGroup.item.bestMatchData(Y)--
searchResult.searchItemGroup.item.bestMatchData.freeShipping(Y)--
searchResult.searchItemGroup.item.bestMatchData
  .impressionCountRange
(Y)--
searchResult.searchItemGroup.item.bestMatchData
  .impressionCountRange.max
(Y)--
searchResult.searchItemGroup.item.bestMatchData
  .impressionCountRange.min
(Y)--
searchResult.searchItemGroup.item.bestMatchData.salesCount(Y)--
searchResult.searchItemGroup.item.bestMatchData
  .salesPerImpression
(Y)--
searchResult.searchItemGroup.item.bestMatchData.salesPerViewItem(Y)--
searchResult.searchItemGroup.item.bestMatchData.viewItemCount(Y)--
searchResult.searchItemGroup.item.bestMatchData
  .viewItemPerImpression
(Y)--
searchResult.searchItemGroup.item.bestMatchData.watchCount(Y)--
searchResult.searchItemGroup.item.charityId(Y)--
searchResult.searchItemGroup.item.compatibility(Y)--
searchResult.searchItemGroup.item.countryY--
searchResult.searchItemGroup.item.galleryPlusPictureURL(Y)--
searchResult.searchItemGroup.item.galleryURL(Y)--
searchResult.searchItemGroup.item.globalIdY--
searchResult.searchItemGroup.item.itemIdY--
searchResult.searchItemGroup.item.itemRankY--
searchResult.searchItemGroup.item.itemRankWithinGroupY--
searchResult.searchItemGroup.item.listingInfoY--
searchResult.searchItemGroup.item.listingInfo.bestOfferEnabledY--
searchResult.searchItemGroup.item.listingInfo.buyItNowAvailableY--
searchResult.searchItemGroup.item.listingInfo.buyItNowPriceY--
searchResult.searchItemGroup.item.listingInfo
  .convertedBuyItNowPrice
Y--
searchResult.searchItemGroup.item.listingInfo.endTimeY--
searchResult.searchItemGroup.item.listingInfo.giftY--
searchResult.searchItemGroup.item.listingInfo.listingTypeY--
searchResult.searchItemGroup.item.listingInfo.startTimeY--
searchResult.searchItemGroup.item.locationY--
searchResult.searchItemGroup.item.paymentMethodY--
searchResult.searchItemGroup.item.postalCode(Y)--
searchResult.searchItemGroup.item.primaryCategoryY--
searchResult.searchItemGroup.item.primaryCategory.categoryIdY--
searchResult.searchItemGroup.item.primaryCategory.categoryNameY--
searchResult.searchItemGroup.item.productId(Y)--
searchResult.searchItemGroup.item.quantityAvailableY--
searchResult.searchItemGroup.item.quantitySoldY--
searchResult.searchItemGroup.item.secondaryCategory(Y)--
searchResult.searchItemGroup.item.secondaryCategory.categoryId(Y)--
searchResult.searchItemGroup.item.secondaryCategory.categoryName(Y)--
searchResult.searchItemGroup.item.sellerInfo--Y
searchResult.searchItemGroup.item.sellerInfo.feedbackRatingStar--Y
searchResult.searchItemGroup.item.sellerInfo.feedbackScore--Y
searchResult.searchItemGroup.item.sellerInfo
  .positiveFeedbackPercent
--Y
searchResult.searchItemGroup.item.sellerInfo.sellerUserName--Y
searchResult.searchItemGroup.item.sellerInfo.topRatedSeller--Y
searchResult.searchItemGroup.item.sellingStatusY--
searchResult.searchItemGroup.item.sellingStatus.bidCount(Y)--
searchResult.searchItemGroup.item.sellingStatus
  .convertedCurrentPrice
Y--
searchResult.searchItemGroup.item.sellingStatus.currentPriceY--
searchResult.searchItemGroup.item.sellingStatus.sellingStateY--
searchResult.searchItemGroup.item.sellingStatus.timeLeftY--
searchResult.searchItemGroup.item.shippingInfoY--
searchResult.searchItemGroup.item.shippingInfo
  .shippingServiceCost
(Y)--
searchResult.searchItemGroup.item.shippingInfo.shippingTypeY--
searchResult.searchItemGroup.item.shippingInfo.shipToLocations(Y)--
searchResult.searchItemGroup.item.storeInfo(Y)--
searchResult.searchItemGroup.item.storeInfo.storeName(Y)--
searchResult.searchItemGroup.item.storeInfo.storeURL(Y)--
searchResult.searchItemGroup.item.subtitle(Y)--
searchResult.searchItemGroup.item.titleY--
searchResult.searchItemGroup.item.viewItemURLY--
searchResult.totalEntriesY--



Back to top

findBestMatchItemDetailsByKeywords Samples

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

Note: Some data in these samples might no longer be active. If necessary, you can substitute current data in your requests.

Sample: Basic

A keyword search that uses item filters to return used, Buy It Now items.

Description

MegaSeller wants to review how various items are performing based on a specific keyword search. Using item filters, the item search returns only used, Buy It Now items. The response includes a First Page Summary and Featured items are filtered out with the ignoreFeatured switch.

Input

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

<?xml version="1.0" encoding="utf-8"?>
<findBestMatchItemDetailsByKeywordsRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
  <keywords>Canon Digital Camera</keywords>
  <siteResultsPerPage>50</siteResultsPerPage>
  <entriesPerPage>50</entriesPerPage>
  <ignoreFeatured>true</ignoreFeatured>
  <outputSelector>FirstPageSummary</outputSelector>
  <outputSelector>SellerInfo</outputSelector>
  <itemFilter>
    <name>Condition</name>
    <value>Used</value>
  </itemFilter>
  <itemFilter>
    <name>ListingType</name>
    <value>AuctionWithBIN</value>
  </itemFilter></findBestMatchItemDetailsByKeywordsRequest>

Output

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

<findBestMatchItemDetailsByKeywordsResponse xmlns:ms="http://www.ebay.com/marketplace/services"
    xmlns="http://www.ebay.com/marketplace/search/v1/services">
  <ack>Success</ack>
  <version>1.1.0</version>
  <timestamp>2009-10-22T23:36:25.184Z</timestamp>
  <searchResult count="50">
    <searchItemGroup itemGroupCount="50" itemGroupName="BestMatch" itemGroup="Placement">
      <item>
        <itemId>300350032196</itemId>
        <title>Canon EOS Rebel XS 10.1 Megapixel</title>
        <globalId>EBAY-US</globalId>
        <subtitle>Like new-Great for action shots</subtitle>
        <primaryCategory>
          <categoryId>31388</categoryId>
          <categoryName>Digital Cameras</categoryName>
        </primaryCategory>
        <galleryURL>http://thumbs3.ebaystatic.com/pict/3003500321968080_1.jpg</galleryURL>
        <viewItemURL>http://cgi.ebay.com/Canon-EOS-Rebel-XS-10-1-Megapixel_
            W0QQitemZ300350032196QQcmdZViewItemQQptZDigital_Cameras?
            hash=item45ee41c944</viewItemURL>
        <productId type="ReferenceID">70898000</productId>
        <paymentMethod>PayPal</paymentMethod>
        <autoPay>true</autoPay>
        <postalCode>42327</postalCode>
        <location>Calhoun,KY</location>
        <country>US</country>
        <sellerInfo>
          <sellerUserName>recycler4u</sellerUserName>
          <feedbackScore>47</feedbackScore>
          <positiveFeedbackPercent>100.0</positiveFeedbackPercent>
          <feedbackRatingStar>Yellow</feedbackRatingStar>
        </sellerInfo>
        <shippingInfo>
          <shippingServiceCost currencyId="USD">0.0</shippingServiceCost>
          <shippingType>Free</shippingType>
          <shipToLocations>US</shipToLocations>
        </shippingInfo>
        <sellingStatus>
          <currentPrice currencyId="USD">430.01</currentPrice>
          <convertedCurrentPrice currencyId="USD">430.01</convertedCurrentPrice>
          <bidCount>12</bidCount>
          <sellingState>Active</sellingState>
          <timeLeft>P0DT2H25M2S</timeLeft>
        </sellingStatus>
        <listingInfo>
          <bestOfferEnabled>false</bestOfferEnabled>
          <buyItNowAvailable>true</buyItNowAvailable>
          <buyItNowPrice currencyId="USD">600.0</buyItNowPrice>
          <convertedBuyItNowPrice currencyId="USD">600.0</convertedBuyItNowPrice>
          <startTime>2009-10-21T02:01:27.000Z</startTime>
          <endTime>2009-10-28T02:01:27.000Z</endTime>
          <listingType>AuctionWithBIN</listingType>
          <gift>true</gift>
        </listingInfo>
        <itemRank>1</itemRank>
        <itemRankWithinGroup>1</itemRankWithinGroup>
        <quantityAvailable>1</quantityAvailable>
        <quantitySold>0</quantitySold>
      </item>
      ...
    </searchItemGroup>
    <totalEntries>180</totalEntries>
  </searchResult>
  <firstPageSummary>
    <itemGroupSummary itemGroupCount="50" itemGroupName="Auction" itemGroup="Format">
      <searchResultSampleSize>50</searchResultSampleSize>
      <priceRange>
        <min currencyId="USD">14.99</min>
        <max currencyId="USD">3299.0</max>
      </priceRange>
      <shippingCostRange>
        <min currencyId="USD">0.0</min>
        <max currencyId="USD">56.25</max>
      </shippingCostRange>
      <endTimeRange>
        <min>P0DT1H4M7S</min>
        <max>P3DT2H37M41S</max>
      </endTimeRange>
      <productDetailsItemsCount>46</productDetailsItemsCount>
      <topRatedSellerItemsCount>0</topRatedSellerItemsCount>
      <freeShippingItemsCount>12</freeShippingItemsCount>
    </itemGroupSummary>
  </firstPageSummary>
</findBestMatchItemDetailsByKeywordsResponse>



Back to top

findBestMatchItemDetailsByKeywords Change History

Version Description
1.5.0
04/14/2010
  • ItemFilterType values (added): New filters (BestOfferOnly, ExcludeCategory, ModTimeFrom) to control search results.
1.3.0
01/20/2009
  • searchResult.searchItemGroup.item.compatibility (added): Returns compatible application matches for items listed with parts compatibility information.
1.2.0
11/11/2009
  • searchResult.searchItemGroup.item.galleryPlusPictureURL (added): Image URL for items listed with Gallery Plus upgrade.
  • itemFilter.name.SellerBusinessType (doc change): Corrected the allowed filter values to include Business and Private only.
  • itemFilter.name.Condition (doc change): Corrected the allowed filter values to include Unspecified.
1.0.1
09/30/2009
  • (added) New call.



Back to top

User-Contributed Notes

   
 
 
 

Copyright © 2009–2012 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developer Network and API License Agreement.