Item Feed Service
ebay · Commerce
Note: This is a (Limited Release) API available only to select developers approved by business units. For information on how to obtain access to this API in production, see the
Authentication
Sample Requests
This method lets you download a TSV_GZIP (tab separated value gzip) Item feed file. The feed file contains all the items from all the child categories of the specified category. The first line of the file is the header, which labels the columns and indicates the order of the valu
Hover any highlighted part to learn what it does
| Range | example |
| Accept | example |
| X-EBAY-C-MARKETPLACE-ID | example |
curl -X GET "https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item?date=2026-06-02&feed_scope=example&category_id=example" \ -H "Range: example" \ -H "Accept: example" \ -H "X-EBAY-C-MARKETPLACE-ID: example"
import requests
params = {
"date": "2026-06-02",
"feed_scope": "example",
"category_id": "example"
}
headers = {
"Range": "example",
"Accept": "example",
"X-EBAY-C-MARKETPLACE-ID": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item');
url.searchParams.set('date', '2026-06-02');
url.searchParams.set('feed_scope', 'example');
url.searchParams.set('category_id', 'example');
const response = await fetch(url, {
headers: {
'Range': 'example',
'Accept': 'example',
'X-EBAY-C-MARKETPLACE-ID': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item")
q := baseURL.Query()
q.Set("date", "2026-06-02")
q.Set("feed_scope", "example")
q.Set("category_id", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Range", "example")
req.Header.Set("Accept", "example")
req.Header.Set("X-EBAY-C-MARKETPLACE-ID", "example")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item")
uri.query = URI.encode_www_form({
"date" => "2026-06-02",
"feed_scope" => "example",
"category_id" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Range"] = "example"
req["Accept"] = "example"
req["X-EBAY-C-MARKETPLACE-ID"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item?" . http_build_query([
"date" => "2026-06-02",
"feed_scope" => "example",
"category_id" => "example"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Range: example",
"Accept: example",
"X-EBAY-C-MARKETPLACE-ID: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));This method lets you download a TSV_GZIP (tab separated value gzip) Item Group feed file. An item group is an item that has various aspect differences, such as color, size, storage capacity, etc. There are two types of item group feed files generated: A daily Item Grou
Hover any highlighted part to learn what it does
| Accept | example |
| X-EBAY-C-MARKETPLACE-ID | example |
curl -X GET "https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_group?date=2026-06-02&feed_scope=example&category_id=example" \ -H "Accept: example" \ -H "X-EBAY-C-MARKETPLACE-ID: example"
import requests
params = {
"date": "2026-06-02",
"feed_scope": "example",
"category_id": "example"
}
headers = {
"Accept": "example",
"X-EBAY-C-MARKETPLACE-ID": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_group",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_group');
url.searchParams.set('date', '2026-06-02');
url.searchParams.set('feed_scope', 'example');
url.searchParams.set('category_id', 'example');
const response = await fetch(url, {
headers: {
'Accept': 'example',
'X-EBAY-C-MARKETPLACE-ID': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_group")
q := baseURL.Query()
q.Set("date", "2026-06-02")
q.Set("feed_scope", "example")
q.Set("category_id", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Accept", "example")
req.Header.Set("X-EBAY-C-MARKETPLACE-ID", "example")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_group")
uri.query = URI.encode_www_form({
"date" => "2026-06-02",
"feed_scope" => "example",
"category_id" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Accept"] = "example"
req["X-EBAY-C-MARKETPLACE-ID"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_group?" . http_build_query([
"date" => "2026-06-02",
"feed_scope" => "example",
"category_id" => "example"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Accept: example",
"X-EBAY-C-MARKETPLACE-ID: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Using this method, you can download a TSV_GZIP (tab separated value gzip) Item Priority feed file, which allows you to track changes (deltas) in the status of your priority items, such as when an item is added or removed from a campaign. The delta feed tracks the changes to the status of
Hover any highlighted part to learn what it does
| Range | example |
| Accept | example |
| X-EBAY-C-MARKETPLACE-ID | example |
curl -X GET "https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority?date=2026-06-02&category_id=example" \ -H "Range: example" \ -H "Accept: example" \ -H "X-EBAY-C-MARKETPLACE-ID: example"
import requests
params = {
"date": "2026-06-02",
"category_id": "example"
}
headers = {
"Range": "example",
"Accept": "example",
"X-EBAY-C-MARKETPLACE-ID": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority');
url.searchParams.set('date', '2026-06-02');
url.searchParams.set('category_id', 'example');
const response = await fetch(url, {
headers: {
'Range': 'example',
'Accept': 'example',
'X-EBAY-C-MARKETPLACE-ID': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority")
q := baseURL.Query()
q.Set("date", "2026-06-02")
q.Set("category_id", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Range", "example")
req.Header.Set("Accept", "example")
req.Header.Set("X-EBAY-C-MARKETPLACE-ID", "example")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority")
uri.query = URI.encode_www_form({
"date" => "2026-06-02",
"category_id" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Range"] = "example"
req["Accept"] = "example"
req["X-EBAY-C-MARKETPLACE-ID"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority?" . http_build_query([
"date" => "2026-06-02",
"category_id" => "example"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Range: example",
"Accept: example",
"X-EBAY-C-MARKETPLACE-ID: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Item Feed Service?
Item Feed Service is a Commerce API. Developers commonly use commerce APIs for:
- syncing product catalogues and inventory levels
- building price comparison and deal-finder tools
- processing orders and tracking shipments
- managing customer wishlists and reviews
- automating abandoned-cart and promotional emails
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Item Feed Service is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide