Find an API

Search public APIs with auth details & Postman guides

← All APIs

Item Feed Service

ebay · Commerce

Commerce No Auth Free & Open ecommerce

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

No authentication requiredFree to use with no key needed.

Sample Requests

GET getItemFeed

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

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

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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));
GET getItemGroupFeed

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

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

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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));
GET getItemPriorityFeed

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

https://api.apis.guru/v2/specs/ebay.com/buy-feed/v1_beta.34.0/item_priority?date=2026-06-02&category_id=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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

Get Postman ↗
  1. 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

Open documentation ↗