Deal API
ebay · Commerce
Note: This is a (Limited Release) API available only to select developers approved by business units. This API allows third-party developers to search for and retrieve details about eBay deals and events, as well as the items as
Authentication
Sample Requests
This method retrieves a paginated set of deal items. The result set contains all deal items associated with the specified search criteria and marketplace ID. Request headers This method uses the X-EBAY-C-ENDUSERCTX request header to support revenue sharing for eBay Partner Networks and to improve th
Hover any highlighted part to learn what it does
| X-EBAY-C-MARKETPLACE-ID | example |
curl -X GET "https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/deal_item?limit=10&offset=0&category_ids=example&commissionable=example&delivery_country=example" \ -H "X-EBAY-C-MARKETPLACE-ID: example"
import requests
params = {
"limit": "10",
"offset": "0",
"category_ids": "example",
"commissionable": "example",
"delivery_country": "example"
}
headers = {
"X-EBAY-C-MARKETPLACE-ID": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/deal_item",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/deal_item');
url.searchParams.set('limit', '10');
url.searchParams.set('offset', '0');
url.searchParams.set('category_ids', 'example');
url.searchParams.set('commissionable', 'example');
url.searchParams.set('delivery_country', 'example');
const response = await fetch(url, {
headers: {
'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-deal/v1.3.0/deal_item")
q := baseURL.Query()
q.Set("limit", "10")
q.Set("offset", "0")
q.Set("category_ids", "example")
q.Set("commissionable", "example")
q.Set("delivery_country", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
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-deal/v1.3.0/deal_item")
uri.query = URI.encode_www_form({
"limit" => "10",
"offset" => "0",
"category_ids" => "example",
"commissionable" => "example",
"delivery_country" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
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-deal/v1.3.0/deal_item?" . http_build_query([
"limit" => "10",
"offset" => "0",
"category_ids" => "example",
"commissionable" => "example",
"delivery_country" => "example"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"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 returns paginated results containing all eBay events for the specified marketplace. Request headers This method uses the X-EBAY-C-ENDUSERCTX request header to support revenue sharing for eBay Partner Networks and to improve the accuracy of shipping and delivery time estimations. For deta
Hover any highlighted part to learn what it does
| X-EBAY-C-MARKETPLACE-ID | example |
curl -X GET "https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/event?limit=10&offset=0" \ -H "X-EBAY-C-MARKETPLACE-ID: example"
import requests
params = {
"limit": "10",
"offset": "0"
}
headers = {
"X-EBAY-C-MARKETPLACE-ID": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/event",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/event');
url.searchParams.set('limit', '10');
url.searchParams.set('offset', '0');
const response = await fetch(url, {
headers: {
'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-deal/v1.3.0/event")
q := baseURL.Query()
q.Set("limit", "10")
q.Set("offset", "0")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
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-deal/v1.3.0/event")
uri.query = URI.encode_www_form({
"limit" => "10",
"offset" => "0"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
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-deal/v1.3.0/event?" . http_build_query([
"limit" => "10",
"offset" => "0"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"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 returns a paginated set of event items. The result set contains all event items associated with the specified search criteria and marketplace ID. Request headers This method uses the X-EBAY-C-ENDUSERCTX request header to support revenue sharing for eBay Partner Networks and to improve th
Hover any highlighted part to learn what it does
| X-EBAY-C-MARKETPLACE-ID | example |
curl -X GET "https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/event_item?limit=10&offset=0&event_ids=example&category_ids=example&delivery_country=example" \ -H "X-EBAY-C-MARKETPLACE-ID: example"
import requests
params = {
"limit": "10",
"offset": "0",
"event_ids": "example",
"category_ids": "example",
"delivery_country": "example"
}
headers = {
"X-EBAY-C-MARKETPLACE-ID": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/event_item",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/ebay.com/buy-deal/v1.3.0/event_item');
url.searchParams.set('limit', '10');
url.searchParams.set('offset', '0');
url.searchParams.set('event_ids', 'example');
url.searchParams.set('category_ids', 'example');
url.searchParams.set('delivery_country', 'example');
const response = await fetch(url, {
headers: {
'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-deal/v1.3.0/event_item")
q := baseURL.Query()
q.Set("limit", "10")
q.Set("offset", "0")
q.Set("event_ids", "example")
q.Set("category_ids", "example")
q.Set("delivery_country", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
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-deal/v1.3.0/event_item")
uri.query = URI.encode_www_form({
"limit" => "10",
"offset" => "0",
"event_ids" => "example",
"category_ids" => "example",
"delivery_country" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
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-deal/v1.3.0/event_item?" . http_build_query([
"limit" => "10",
"offset" => "0",
"event_ids" => "example",
"category_ids" => "example",
"delivery_country" => "example"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"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 Deal API?
Deal API 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. Deal API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?