eBay Feed API
The eBay Feed API lets developers download large bulk feed files of eBay item, product, and order data for offline analysis and synchronization.
The eBay Feed API lets developers download large bulk feed files of eBay item, product, and order data for offline analysis and synchronization.
openapi: 3.0.0
info:
title: eBay Feed API
description: "<p>The <strong>Feed API</strong> lets sellers upload input files, download reports and files including their status, filter reports using URI parameters, and retrieve customer service metrics task details.</p>"
contact:
name: eBay Inc,
license:
name: eBay API License Agreement
url: https://go.developer.ebay.com/api-license-agreement
version: v1.3.1
servers:
- url: https://api.ebay.com{basePath}
description: Production
variables:
basePath:
default: "/sell/feed/v1"
paths:
"/order_task":
get:
tags:
- Order_task
description: This method returns the details and status for an array of order tasks based on a specified <strong>feed_type</strong> or <strong>schedule_id</strong>. Specifying both <strong>feed_type</strong> and <strong>schedule_id</strong> results in an error. Since schedules are based on feed types, you can specify a schedule (<strong>schedule_id</strong>) that returns the needed <strong>feed_type</strong>.<br /><br />If specifying the <strong>feed_type</strong>, limit which order tasks are returned by specifying filters such as the creation date range or period of time using <strong>look_back_days</strong>. <br /><br />If specifying a <strong>schedule_id</strong>, the schedule template (that the <strong>schedule_id</strong> is based on) determines which order tasks are returned (see <strong>schedule_id</strong> for additional information). Each <strong>schedule_id</strong> applies to one <strong>feed_type</strong>.
operationId: getOrderTasks
parameters:
- name: date_range
in: query
description: 'The order tasks creation date range. This range is used to filter the results. The filtered results are filtered to include only tasks with a creation date that is equal to this date or is within specified range. Only orders less than 90 days old can be retrieved. Do not use with the <strong>look_back_days</strong> parameter. <br /><br /><b>Format: </b>UTC <br /><br /> <b> For example: </b> <br /><br />Tasks within a range <br /> <code>yyyy-MM-ddThh:mm:ss.SSSZ..yyyy-MM-ddThh:mm:ss.SSSZ </code> <br /><br /> Tasks created on September 8, 2019<br /> <code>2019-09-08T00:00:00.000Z..2019-09-09T00:00:00.000Z</code><br />'
required: false
schema:
type: string
- name: feed_type
in: query
description: The feed type associated with the order tasks being retrieved. The only presently supported value is <code>LMS_ORDER_REPORT</code><br><br>See <a href="/api-docs/sell/static/feed/lms-feeds-quick-reference.html#merchant-data-reports-download-feed-types">Report download feed types</a> for more information.<br><br><span class="tablenote"><b>Note:</b> Do not use with the <strong>schedule_id</strong> parameter. Since schedules are based on feed types, you can specify a schedule (<strong>schedule_id</strong>) that returns the needed <strong>feed_type</strong>.</span>
required: false
schema:
type: string
- name: limit
in: query
description: The maximum number of order tasks that can be returned on each page of the paginated response. Use this parameter in conjunction with the <strong>offset</strong> parameter to control the pagination of the output. <p> <span class="tablenote"><strong>Note:</strong> This feature employs a zero-based list, where the first item in the list has an offset of <code>0</code>.</span></p><p>For example, if <strong>offset</strong> is set to 10 and <strong>limit</strong> is set to 10, the call retrieves order tasks 11 thru 20 from the result set.</p><p>If this parameter is omitted, the default value is used.</p><p><b>Default:</b> 10 <p><b>Maximum:</b> 500</p>
required: false
schema:
type: string
- name: look_back_days
in: query
description: 'The number of previous days in which to search for tasks. Do not use with the <strong>date_range</strong> parameter. If both <strong>date_range</strong> and <strong>look_back_days</strong> are omitted, this parameter''s default value is used. <br /><br /><b>Default: </b> 7 <br /><br /><b>Range: </b> 1-90 (inclusive) '
required: false
schema:
type: string
- name: offset
in: query
description: 'The number of order tasks to skip in the result set before returning the first order in the paginated response. <p>Combine <strong>offset</strong> with the <strong>limit</strong> query parameter to control the items returned in the response. For example, if you supply an <strong>offset</strong> of <code>0</code> and a <strong>limit</strong> of <code>10</code>, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If <strong>offset</strong> is <code>10</code> and <strong>limit</strong> is <code>20</code>, the first page of the response contains items 11-30 from the complete result set. If this query parameter is not set, the default value is used and the first page of records is returned.<br /><br /><b>Default: </b>0'
required: false
schema:
type: string
- name: schedule_id
in: query
description: The schedule ID associated with the order tasks being retrieved. A schedule periodically generates a report, and these schedules can be created with the <a href="/api-docs/sell/feed/resources/schedule/methods/createSchedule">createSchedule</a> method.<br><br><span class="tablenote"><b>Note:</b> Do not use with the <strong>feed_type</strong> parameter. Since schedules are based on feed types, you can specify a schedule (<strong>schedule_id</strong>) that returns the needed <strong>feed_type</strong>.</span><br>Use the <a href="/api-docs/sell/feed/resources/schedule/methods/getSchedules">getSchedules</a> method to retrieve schedule IDs.
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/OrderTaskCollection"
'400':
description: Bad Request
x-response-codes:
errors:
'160004':
domain: API_FEED
category: REQUEST
description: You must submit either a 'feed_type' or 'schedule_id'.
'160005':
domain: API_FEED
category: REQUEST
description: Both 'feed_type' and 'schedule_id' were provided. Please remove one of them.
'160006':
domain: API_FEED
category: REQUEST
description: The 'feed_type' {feedTypeValue} is invalid.
'160007':
domain: API_FEED
category: REQUEST
description: The 'schedule_id' {scheduleID} is invalid.
'160008':
domain: API_FEED
category: REQUEST
description: Both 'look_back_days' and 'date_range' were provided. Please remove one of them.
'160009':
domain: API_FEED
category: REQUEST
description: The format of the 'date_range' is invalid. The format for a date range is yyyy-MM-ddThh:mm:ss.SSSZ..yyyy-MM-ddThh:mm:ss.SSSZ.
'160010':
domain: API_FEED
category: REQUEST
description: The 'date_range' must be less than or equal to 90 days.
'160011':
domain: API_FEED
category: REQUEST
description: The 'look_back_days' value must be greater than zero and less than or equal to 90.
'160012':
domain: API_FEED
category: REQUEST
description: The 'limit' value must be greater than zero and less than or equal to 500.
'160013':
domain: API_FEED
category: REQUEST
description: The 'offset' value cannot be less than zero.
'160029':
domain: API_FEED
category: REQUEST
description: The 'offset' value must be a multiple of the 'limit' value.
'403':
description: Forbidden
x-response-codes:
errors:
'160002':
domain: API_FEED
category: REQUEST
description: The authentication scope {scope} is incorrect for 'feed_type' {feedType}. Refer to documentation for details about the scopes.
'500':
description: Internal Server Error
x-response-codes:
errors:
'160001':
domain: API_FEED
category: APPLICATION
description: There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.fulfillment
post:
tags:
- Order_task
description: 'This method creates an order download task with filter criteria for the order report. When using this method, specify the <b> feedType</b>, <b> schemaVersion</b>, and <b> filterCriteria</b> for the report. The method returns the <b> location</b> response header containing the getOrderTask call URI to retrieve the order task you just created. The URL includes the eBay-assigned task ID, which you can use to reference the order task. <br /><br />To retrieve the status of the task, use the <b>getOrderTask</b> method to retrieve a single task ID or the <b>getOrderTasks</b> method to retrieve multiple order task IDs.<p> <span class="tablenote"><strong>Note:</strong> The scope depends on the feed type. An error message results when an unsupported scope or feed type is specified.</span></p><p>The following list contains this method''s authorization scope and its corresponding feed type:<ul><li>https://api.ebay.com/oauth/api_scope/sell.fulfillment: LMS_ORDER_REPORT</li></ul> </p><p>For details about how this method is used, see <a href="/api-docs/sell/static/feed/general-feed-tasks.html" target="_blank">General feed types</a> in the Selling Integration Guide. <p> <span class="tablenote"><strong>Note:</strong> At this time, the <strong>createOrderTask</strong> method only supports order creation date filters and not modified order date filters. Do not include the <strong>modifiedDateRange</strong> filter in your request payload.</span></p>'
operationId: createOrderTask
parameters:
- name: Content-Type
in: header
description: This header indicates the format of the request body provided by the client. Its value should be set to <b>application/json</b>. <br><br> For more information, refer to <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank ">HTTP request headers</a>.
required: true
schema:
type: string
requestBody:
description: description not needed
content:
application/json:
schema:
description: description not needed
"$ref": "#/components/schemas/CreateOrderTaskRequest"
required: true
responses:
'202':
description: Accepted
'400':
description: Bad Request
x-response-codes:
errors:
'160017':
domain: API_FEED
category: REQUEST
description: The 'feedType' is missing or invalid.
'160018':
domain: API_FEED
category: REQUEST
description: The 'schemaVersion' is invalid.
'160019':
domain: API_FEED
category: REQUEST
description: The 'filterCriteria' is invalid. {additionalInfo}
'160027':
domain: API_FEED
category: REQUEST
description: The X-EBAY-C-MARKETPLACE-ID header is missing or invalid.
'160030':
domain: API_FEED
category: REQUEST
description: This resource is not applicable for the feed type {feedTypeValue}. For more information, see the documentation for this API.
'403':
description: Forbidden
x-response-codes:
errors:
'160002':
domain: API_FEED
category: REQUEST
description: The authentication scope {scope} is incorrect for 'feed_type' {feedType}. Refer to documentation for details about the scopes.
'160022':
domain: API_FEED
category: REQUEST
description: You are not allowed to access this resource. Contact eBay Developer Technical Support for assistance.
'409':
description: Conflict
x-response-codes:
errors:
'160024':
domain: API_FEED
category: BUSINESS
description: You have reached the maximum number of feed tasks that can be queued or processed concurrently. Wait for current tasks to complete before adding tasks. For more information, see the documentation for this API.
'160025':
domain: API_FEED
category: BUSINESS
description: You have exceeded the maximum number of records or tasks that can be created or processed in the period (hourly or daily). Wait until the present period ends before trying again. Please reference the API documentation for more information.
'500':
description: Internal Server Error
x-response-codes:
errors:
'160001':
domain: API_FEED
category: APPLICATION
description: There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.fulfillment
"/order_task/{task_id}":
get:
tags:
- Order_task
description: This method retrieves the task details and status of the specified task. The input is <strong>task_id</strong>. <p>For details about how this method is used, see <a href="/api-docs/sell/static/orders/generating-and-retrieving-order-reports.html">Working with Order Feeds</a> in the Selling Integration Guide. </p>
operationId: getOrderTask
parameters:
- name: task_id
in: path
description: This path parameter is the unique identifier of the order task being retrieved.<br><br>Use the <a href="/api-docs/sell/feed/resources/order_task/methods/getOrderTasks">getOrderTasks</a> method to retrieve order task IDs.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/OrderTask"
'400':
description: Bad Request
'403':
description: Forbidden
x-response-codes:
errors:
'160002':
domain: API_FEED
category: REQUEST
description: The authentication scope {scope} is incorrect for 'feed_type' {feedType}. Refer to documentation for details about the scopes.
'404':
description: Not Found
x-response-codes:
errors:
'160003':
domain: API_FEED
category: REQUEST
description: Task {taskID} does not exist.
'500':
description: Internal Server Error
x-response-codes:
errors:
'160001':
domain: API_FEED
category: APPLICATION
description: There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.fulfillment
"/inventory_task":
get:
tags:
- Inventory_task
description: This method searches for multiple tasks of a specific feed type, and includes date filters and pagination.
operationId: getInventoryTasks
parameters:
- name: feed_type
in: query
description: The feed type associated with the inventory tasks being retrieved. Presently, only one feed type is available:<br><ul><li><code>LMS_ACTIVE_INVENTORY_REPORT</code></li></ul>See <a href="/api-docs/sell/static/feed/lms-feeds-quick-reference.html#merchant-data-reports-download-feed-types" target="_blank">Report value feed types</a> for more information.
required: false
schema:
type: string
- name: schedule_id
in: query
description: <span class="tablenote"><b>Note:</b> Schedule functionality for ActiveInventoryReport is currently unavailable, so this field is not usable.</span>
required: false
schema:
type: string
- name: look_back_days
in: query
description: 'The number of previous days in which to search for tasks. Do not use with the <code>date_range</code> parameter. If both <code>date_range</code> and <code>look_back_days</code> are omitted, this parameter''s default value is used. <br /><br /><b>Default: </b> 7 <br /><br /><b>Range: </b> 1-90 (inclusive)'
required: false
schema:
type: string
- name: date_range
in: query
description: 'Specifies the range of task creation dates used to filter the results. The results are filtered to include only tasks with a creation date that is equal to this date or is within specified range. <p> <span class="tablenote"><strong>Note:</strong> Maximum date range window size is 90 days.</span></p><br /><b>Valid Format (UTC): </b><code>yyyy-MM-ddThh:mm:ss.SSSZ..yyyy-MM-ddThh:mm:ss.SSSZ</code><br /><br />For example: Tasks created on March 31, 2021<br /> <code>2021-03-31T00:00:00.000Z..2021-03-31T00:00:00.000Z</code><br /><br />'
required: false
schema:
type: string
- name: limit
in: query
description: 'The maximum number of tasks that can be returned on each page of the paginated response. Use this parameter in conjunction with the <strong>offset</strong> parameter to control the pagination of the output. <p> <span class="tablenote"><strong>Note:</strong> This feature employs a zero-based list, where the first item in the list has an offset of <code>0</code>.</span></p><p>For example, if <strong>offset</strong> is set to 10 and <strong>limit</strong> is set to 10, the call retrieves tasks 11 thru 20 from the result set.</p><p>If this parameter is omitted, the default value is used. <br /><br /><b>Default: </b> 10 <br /><br /><b>Maximum: </b>500'
required: false
schema:
type: string
- name: offset
in: query
description: 'The number of tasks to skip in the result set before returning the first task in the paginated response. <p>Combine <strong>offset</strong> with the <strong>limit</strong> query parameter to control the items returned in the response. For example, if you supply an <strong>offset</strong> of <code>0</code> and a <strong>limit</strong> of <code>10</code>, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If <strong>offset</strong> is <code>10</code> and <strong>limit</strong> is <code>20</code>, the first page of the response contains items 11-30 from the complete result set. If this query parameter is not set, the default value is used and the first page of records is returned. <br /><br /><b>Default: </b>0'
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/InventoryTaskCollection"
'400':
description: Bad Request
x-response-codes:
errors:
'160004':
domain: API_FEED
category: REQUEST
description: You must submit either a 'feed_type' or 'schedule_id'.
'160005':
domain: API_FEED
category: REQUEST
description: Both 'feed_type' and 'schedule_id' were provided. Please remove one of them.
'160006':
domain: API_FEED
category: REQUEST
description: The 'feed_type' {feedTypeValue} is invalid.
'160007':
domain: API_FEED
category: REQUEST
description: The 'schedule_id' {scheduleID} is invalid.
'160008':
domain: API_FEED
category: REQUEST
description: Both 'look_back_days' and 'date_range' were provided. Please remove one of them.
'160009':
domain: API_FEED
category: REQUEST
description: The format of the 'date_range' is invalid. The format for a date range is yyyy-MM-ddThh:mm:ss.sssZ..yyyy-MM-ddThh:mm:ss.sssZ.
'160010':
domain: API_FEED
category: REQUEST
description: The 'date_range' must be less than or equal to 90 days.
'160011':
domain: API_FEED
category: REQUEST
description: The 'look_back_days' value must be greater than zero and less than or equal to 90.
'160012':
domain: API_FEED
category: REQUEST
description: The 'limit' value must be greater than zero and less than or equal to 500.
'160013':
domain: API_FEED
category: REQUEST
description: The 'offset' value cannot be less than zero.
'160029':
domain: API_FEED
category: REQUEST
description: The 'offset' value must be a multiple of the 'limit' value.
'403':
description: Forbidden
x-response-codes:
errors:
'160002':
domain: API_FEED
category: REQUEST
description: The authentication scope {scope} is incorrect for 'feed_type' {feedType}. Refer to documentation for details about the scopes.
'500':
description: Internal Server Error
x-response-codes:
errors:
'160001':
domain: API_FEED
category: APPLICATION
description: There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.inventory
post:
tags:
- Inventory_task
description: This method creates an inventory-related download task for a specified feed type with optional filter criteria. When using this method, specify the <strong>feedType</strong>. <br/><br/>This method returns the location response header containing the <strong>getInventoryTask</strong> call URI to retrieve the inventory task you just created. The URL includes the eBay-assigned task ID, which you can use to reference the inventory task.<br/><br/>To retrieve the status of the task, use the <strong>getInventoryTask</strong> method to retrieve a single task ID or the <strong>getInventoryTasks</strong> method to retrieve multiple task IDs.<p> <span class="tablenote"><strong>Note:</strong> The scope depends on the feed type. An error message results when an unsupported scope or feed type is specified.</span></p>Presently, this method supports Active Inventory Report. The <strong>ActiveInventoryReport</strong> returns a report that contains price and quantity information for all of the active listings for a specific seller. A seller can use this information to maintain their inventory on eBay.
operationId: createInventoryTask
parameters:
- name: Content-Type
in: header
description: This header indicates the format of the request body provided by the client. Its value should be set to <b>application/json</b>. <br><br> For more information, refer to <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank ">HTTP request headers</a>.
required: true
schema:
type: string
requestBody:
description: The request payload containing the version, feedType, and optional filterCriteria.
content:
application/json:
schema:
description: The request payload containing the version, feedType, and optional filterCriteria.
"$ref": "#/components/schemas/CreateInventoryTaskRequest"
required: true
responses:
'202':
description: Accepted
'400':
description: Bad Request
x-response-codes:
errors:
'160017':
domain: API_FEED
category: REQUEST
description: The 'feedType' is missing or invalid.
'160018':
domain: API_FEED
category: REQUEST
description: The 'schemaVersion' is invalid.
'160019':
domain: API_FEED
category: REQUEST
description: The 'filterCriteria' is invalid. {additionalInfo}
'160027':
domain: API_FEED
category: REQUEST
description: The X-EBAY-C-MARKETPLACE-ID header is missing or invalid.
'160030':
domain: API_FEED
category: REQUEST
description: This resource is not applicable for the feed type {feedTypeValue}. For more information, see the documentation for this API.
'403':
description: Forbidden
x-response-codes:
errors:
'160002':
domain: API_FEED
category: REQUEST
description: The authentication scope {scope} is incorrect for 'feed_type' {feedType}. Refer to documentation for details about the scopes.
'160022':
domain: API_FEED
category: REQUEST
description: You are not allowed to access this resource. Contact eBay Developer Technical Support for assistance.
'409':
description: Conflict
x-response-codes:
errors:
'160024':
domain: API_FEED
category: BUSINESS
description: You have reached the maximum number of feed tasks that can be queued or processed concurrently. Wait for current tasks to complete before adding tasks. For more information, see the documentation for this API.
'160025':
domain: API_FEED
category: BUSINESS
description: You have exceeded the maximum number of records or tasks that can be created or processed in the period (hourly or daily). Wait until the present period ends before trying again. Please reference the API documentation for more information.
'500':
description: Internal Server Error
x-response-codes:
errors:
'160001':
domain: API_FEED
category: APPLICATION
description: There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.inventory
"/inventory_task/{task_id}":
get:
tags:
- Inventory_task
description: This method retrieves the task details and status of the specified inventory-related task. The input is <strong>task_id</strong>.
operationId: getInventoryTask
parameters:
- name: task_id
in: path
description: This path parameter is the unique identifier of the inventory task being retrieved.<br><br> Use the <a href="/api-docs/sell/feed/resources/inventory_task/methods/getInventoryTasks">getInventoryTasks</a> method to retrieve inventory task IDs.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/InventoryTask"
'400':
description: Bad Request
'403':
description: Forbidden
x-response-codes:
errors:
'160002':
domain: API_FEED
category: REQUEST
description: The authentication scope {scope} is incorrect for 'feed_type' {feedType}. Refer to documentation for details about the scopes.
'404':
description: Not Found
x-response-codes:
errors:
'160003':
domain: API_FEED
category: REQUEST
description: Task {taskID} does not exist.
'500':
description: Internal Server Error
x-response-codes:
errors:
'160001':
domain: API_FEED
category: APPLICATION
description: There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.inventory
"/schedule":
get:
tags:
- Schedule
description: This method retrieves an array containing the details and status of all schedules based on the specified <strong>feed_type</strong>. Use this method to find a schedule if you do not know the <strong>schedule_id</strong>.
operationId: getSchedules
parameters:
- name: feed_type
in: query
description: The feed type associated with the schedules being retrieved.<br><br><span class="tablenote"><b>Note:</b> Schedules are currently only available for <code>LMS_ORDER_REPORT</code>.</span>
required: true
schema:
type: string
- name: limit
in: query
description: 'The maximum number of schedules that can be returned on each page of the paginated response. Use this parameter in conjunction with the <strong>offset</strong> parameter to control the pagination of the output. <p> <span class="tablenote"><strong>Note:</strong> This feature employs a zero-based list, where the first item in the list has an offset of <code>0</code>.</span></p><p>For example, if <strong>offset</strong> is set to 10 and <strong>limit</strong> is set to 10, the call retrieves schedules 11 thru 20 from the result set.</p><p>If this parameter is omitted, the default value is used. <br /><br /><b>Default: </b> 10 <br /><br /><b>Maximum: </b>500'
required: false
schema:
type: string
- name: offset
in: query
description: 'The number of schedules to skip in the result set before returning the first schedule in the paginated response. <p>Combine <strong>offset</strong> with the <strong>limit</strong> query parameter to control the items returned in the response. For example, if you supply an <strong>offset</strong> of <code>0</code> and a <strong>limit</strong> of <code>10</code>, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If <strong>offset</strong> is <code>10</code> and <strong>limit</strong> is <code>20</code>, the first page of the response contains items 11-30 from the complete result set. If this query parameter is not set, the default value is used and the first page of records is returned.<br /><br /><b>Default: </b>0'
required: false
schema:
type: string
responses:
'200':
description: Success
co
# --- truncated at 32 KB (153 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ebay/refs/heads/main/openapi/ebay-feed-openapi-original.yml