MENU navbar-image

🛒 eBay

eBay listings API for public eBay search, prices, and sellers.

Read-only. Nothing is bid on, watched, or bought.

marketplace picks the eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es. Prices use that site's currency.

Listing cards share one shape:

Listing search and autocomplete.

GET /v1/ebay/suggest

requires authentication

Search suggestions for a partial query, as eBay shows them while typing.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/suggest'
params = {
  'q': 'iphone',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/suggest';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'q' => 'iphone',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/suggest"
);

const params = {
    "q": "iphone",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/suggest?q=iphone" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "q": "iphone",
        "marketplace": "com"
    },
    "body": [
        "iphone 17 pro max",
        "iphone 16 pro max",
        "iphone 15 pro max",
        "iphone 14 pro max",
        "iphone 13",
        "iphone 15",
        "iphone 13 pro max",
        "iphone 14",
        "iphone 13 mini",
        "iphone 15 pro"
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/suggest

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
q required string

Partial search query. Example: iphone

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

requires authentication

Active listings for a query. body.items holds up to 50 listing cards per page and body.total is the result count eBay shows (it rounds large counts). A search with no matches returns items: [].

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/search'
params = {
  'q': 'iphone',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/search';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'q' => 'iphone',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/search"
);

const params = {
    "q": "iphone",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/search?q=iphone" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "q": "iphone",
        "page": 1,
        "marketplace": "com"
    },
    "body": {
        "total": 160000,
        "items": [
            {
                "id": "127943765980",
                "url": "https://www.ebay.com/itm/127943765980",
                "title": "Apple iPhone 14 128GB A2649 Unlocked Very Good Condition All Colors",
                "condition": "Very Good - Refurbished",
                "sellerType": null,
                "price": 312.35,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/images/g/a0YAAeSwpfdqPwD-/s-l500.webp",
                "seller": {
                    "username": "verizon",
                    "feedbackPercent": 99.5
                }
            },
            {
                "id": "127948412895",
                "url": "https://www.ebay.com/itm/127948412895",
                "title": "Apple iPhone 13 256GB Unlocked Good Condition All Colors",
                "condition": "Good - Refurbished",
                "sellerType": null,
                "price": 253.86,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/images/g/WaQAAeSwUu9qQt6c/s-l500.webp",
                "seller": {
                    "username": "verizon",
                    "feedbackPercent": 99.5
                }
            },
            {
                "id": "127912674651",
                "url": "https://www.ebay.com/itm/127912674651",
                "title": "Apple iPhone 13 Mini A2481 128GB Unlocked Good Condition All Colors",
                "condition": "Good - Refurbished",
                "sellerType": null,
                "price": 221.82,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/images/g/hpcAAeSwpXtqvpvm/s-l140.webp",
                "seller": {
                    "username": "verizon",
                    "feedbackPercent": 99.5
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Products

One listing, other offers for the same product, similar items, and batches.

GET /v1/ebay/products/details

requires authentication

One listing: the card fields plus images, itemSpecifics (name and value), availableQuantity, returns, location, seller (username, feedbackScore, feedbackPercent, url), the seller's description text, and categories breadcrumbs. Pass id or an /itm/ url; a URL sets the marketplace from its host. Ended listings return the standard error. An identical request within 10 minutes returns the same result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/products/details'
params = {
  'id': '127840758849',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/products/details';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '127840758849',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/products/details"
);

const params = {
    "id": "127840758849",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/products/details?id=127840758849" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "id": "127943765980",
        "marketplace": "com"
    },
    "body": {
        "id": "127943765980",
        "url": "https://www.ebay.com/itm/127943765980",
        "title": "Apple iPhone 14 128GB A2649 Unlocked Very Good Condition All Colors",
        "condition": "Very Good - Refurbished",
        "price": 312.35,
        "currency": "USD",
        "shippingPrice": 0,
        "buyingFormat": "fixed",
        "bidCount": null,
        "endingAt": null,
        "image": "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/dcad7168-690e-4745-a818-b64cb47e8b77.jpg",
        "images": [
            "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/dcad7168-690e-4745-a818-b64cb47e8b77.jpg",
            "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/5d7d6c38-ed76-4ea5-beb6-092682905163.jpg",
            "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/9d4c0476-09b4-4dfc-a273-d8e96cb3dd68.jpg"
        ],
        "itemSpecifics": [
            {
                "name": "Condition",
                "value": "Very Good - Refurbished: The item shows minimal wear and is backed by a one year warranty. It is fully functional and has been professionally refurbished, inspected and cleaned to very good condition by qualified sellers. The item includes original or new accessories and will come in new generic packaging. See the seller's listing for full details."
            },
            {
                "name": "Brand",
                "value": "Apple"
            },
            {
                "name": "Storage Capacity",
                "value": "128GB"
            },
            {
                "name": "Model",
                "value": "iPhone 14"
            },
            {
                "name": "SIM Card Slot",
                "value": "Dual eSIM"
            },
            {
                "name": "RAM",
                "value": "6GB"
            },
            {
                "name": "Style",
                "value": "Smartphone"
            },
            {
                "name": "Model Number",
                "value": "A2649"
            },
            {
                "name": "Lock Status",
                "value": "Unlocked"
            },
            {
                "name": "Screen Size",
                "value": "6.1 inches"
            },
            {
                "name": "Processor",
                "value": "Apple A15 Bionic"
            },
            {
                "name": "Operating System",
                "value": "IOS"
            },
            {
                "name": "Country of Origin",
                "value": "China"
            }
        ],
        "availableQuantity": 2,
        "availability": "2 available",
        "returns": "30 days returns. Seller pays for return shipping",
        "location": "Fort Worth, Texas, United States",
        "seller": {
            "username": "verizon",
            "feedbackScore": 35194,
            "feedbackPercent": 99.5,
            "url": "https://www.ebay.com/usr/verizon"
        },
        "description": "OFFICIAL VERIZON EBAY STORE\nSHOP SALE\nABOUT US\nCOMPATIBILITY\nUnlocked | 5G Ready\nSHIPPING\nFree 2-3 Day Delivery\nRETURNS\n30-Day Free Returns\nApple iPhone 14 128GB A2649 Unlocked Very Good Condition All Colors\n\nThe Apple iPhone 14 is powered by the A15 Bionic chip in its five-core GPU configuration on a 5-nanometer fabrication node, delivering a six-core CPU and 16-core Neural Engine for consistent …",
        "categories": [
            {
                "id": "bn_7000259124",
                "name": "Electronics",
                "url": "https://www.ebay.com/b/Electronics/bn_7000259124"
            },
            {
                "id": "15032",
                "name": "Cell Phones & Accessories",
                "url": "https://www.ebay.com/b/Cell-Phones-Smart-Watches-Accessories/15032/bn_1865441"
            },
            {
                "id": "9355",
                "name": "Cell Phones & Smartphones",
                "url": "https://www.ebay.com/b/Cell-Phones-Smartphones/9355/bn_320094"
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/products/details

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id optional string

eBay item number. Required unless url is given. Example: 127840758849

url optional string

eBay item link (/itm/…).

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

GET /v1/ebay/products/offers

requires authentication

Other active Buy It Now listings of the same catalog product, with price, shipping, and title, 50 per page. eBay's product page lists about 60 offers in all and does not show the condition or seller of each, so those fields are null. A listing that is not linked to a catalog product returns items: [] with meta.epid null.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/products/offers'
params = {
  'id': '298457719615',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/products/offers';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '298457719615',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/products/offers"
);

const params = {
    "id": "298457719615",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/products/offers?id=298457719615" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "id": "127943765980",
        "epid": "8056260057",
        "page": 1,
        "marketplace": "com"
    },
    "body": {
        "items": [
            {
                "id": "376972331810",
                "url": "https://www.ebay.com/itm/376972331810",
                "title": "Apple iPhone 14 - 128 GB - (PRODUCT)RED (Unlocked)",
                "condition": null,
                "sellerType": null,
                "price": 280,
                "currency": "USD",
                "shippingPrice": null,
                "buyingFormat": null,
                "bidCount": null,
                "endingAt": null,
                "image": null,
                "seller": {
                    "username": null,
                    "feedbackPercent": null
                }
            },
            {
                "id": "304820253220",
                "url": "https://www.ebay.com/itm/304820253220",
                "title": "Apple iPhone 14 128GB Factory Unlocked AT&T T-Mobile Verizon Good Condition",
                "condition": null,
                "sellerType": null,
                "price": 280.95,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": null,
                "bidCount": null,
                "endingAt": null,
                "image": null,
                "seller": {
                    "username": null,
                    "feedbackPercent": null
                }
            },
            {
                "id": "326361820287",
                "url": "https://www.ebay.com/itm/326361820287",
                "title": "Apple iPhone 14 128GB - Fully Unlocked - GOOD Condition",
                "condition": null,
                "sellerType": null,
                "price": 285.99,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": null,
                "bidCount": null,
                "endingAt": null,
                "image": null,
                "seller": {
                    "username": null,
                    "feedbackPercent": null
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/products/offers

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id optional string

eBay item number. Required unless url is given. Example: 298457719615

url optional string

eBay item link (/itm/…).

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

page optional integer

Offers page of 50 (default 1).

GET /v1/ebay/products/similar

requires authentication

Listings eBay recommends next to this one. The recommendation feed carries no seller name, so seller fields are null.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/products/similar'
params = {
  'id': '127840758849',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/products/similar';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '127840758849',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/products/similar"
);

const params = {
    "id": "127840758849",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/products/similar?id=127840758849" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "id": "127943765980",
        "marketplace": "com"
    },
    "body": {
        "items": [
            {
                "id": "800634469572",
                "url": "https://www.ebay.com/itm/800634469572",
                "title": "Apple iPhone 14 – Very Good Condition (512GB 128GB) Starlight Red Purple",
                "condition": "Pre-owned",
                "sellerType": null,
                "price": 279,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/thumbs/images/g/csIAAeSww05qoPvX/s-l500.jpg",
                "seller": {
                    "username": null,
                    "feedbackPercent": null
                }
            },
            {
                "id": "327010655632",
                "url": "https://www.ebay.com/itm/327010655632",
                "title": "Apple iPhone 14 (Unlocked) 128GB - A2649 All Colors ~ Used Very Good Condition!",
                "condition": "Pre-owned",
                "sellerType": null,
                "price": 299.99,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/thumbs/images/g/BpEAAOSwNRhmjvLS/s-l500.jpg",
                "seller": {
                    "username": null,
                    "feedbackPercent": null
                }
            },
            {
                "id": "276217865650",
                "url": "https://www.ebay.com/itm/276217865650",
                "title": "Apple iPhone 14 128GB Unlocked Very Good Condition - All Colors",
                "condition": "Very Good - Refurbished",
                "sellerType": null,
                "price": 289,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/thumbs/images/g/YuMAAOSw6EFlczuF/s-l500.jpg",
                "seller": {
                    "username": null,
                    "feedbackPercent": null
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/products/similar

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id optional string

eBay item number. Required unless url is given. Example: 127840758849

url optional string

eBay item link (/itm/…).

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

GET /v1/ebay/products/batch

requires authentication

Details for up to 5 item numbers, in the order given. Each entry has the /products/details shape; an item that could not be read is {"id": "…", "error": "No data returned"}. Each item is a separate page load; after about 45 seconds the remaining ids come back as {"id": "…", "error": "Not fetched within the time limit; retry this id"}. Items fetched in the last 10 minutes are served from cache and always included.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/products/batch'
params = {
  'ids': '127840758849,298457719615',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/products/batch';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'ids' => '127840758849,298457719615',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/products/batch"
);

const params = {
    "ids": "127840758849,298457719615",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/products/batch?ids=127840758849%2C298457719615" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "ids": "127943765980,127948412895",
        "marketplace": "com"
    },
    "body": [
        {
            "id": "127943765980",
            "url": "https://www.ebay.com/itm/127943765980",
            "title": "Apple iPhone 14 128GB A2649 Unlocked Very Good Condition All Colors",
            "condition": "Very Good - Refurbished",
            "price": 312.35,
            "currency": "USD",
            "shippingPrice": 0,
            "buyingFormat": "fixed",
            "bidCount": null,
            "endingAt": null,
            "image": "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/dcad7168-690e-4745-a818-b64cb47e8b77.jpg",
            "images": [
                "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/dcad7168-690e-4745-a818-b64cb47e8b77.jpg",
                "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/5d7d6c38-ed76-4ea5-beb6-092682905163.jpg"
            ],
            "itemSpecifics": [
                {
                    "name": "Condition",
                    "value": "Very Good - Refurbished: The item shows minimal wear and is backed by a one year warranty. It is fully functional and has been professionally refurbished, inspected and cleaned to very good condition by qualified sellers. The item includes original or new accessories and will come in new generic packaging. See the seller's listing for full details."
                },
                {
                    "name": "Brand",
                    "value": "Apple"
                },
                {
                    "name": "Storage Capacity",
                    "value": "128GB"
                }
            ],
            "availableQuantity": 2,
            "availability": "2 available",
            "returns": "30 days returns. Seller pays for return shipping",
            "location": "Fort Worth, Texas, United States",
            "seller": {
                "username": "verizon",
                "feedbackScore": 35194,
                "feedbackPercent": 99.5,
                "url": "https://www.ebay.com/usr/verizon"
            },
            "description": "OFFICIAL VERIZON EBAY STORE\nSHOP SALE\nABOUT US\nCOMPATIBILITY\nUnlocked | 5G Ready\nSHIPPING\nFree 2-3 Day Delivery\nRETURNS\n30-Day Free Returns\nApple iPhone 14 128GB A2649 Unlocked Very Good Condition …",
            "categories": [
                {
                    "id": "bn_7000259124",
                    "name": "Electronics",
                    "url": "https://www.ebay.com/b/Electronics/bn_7000259124"
                },
                {
                    "id": "15032",
                    "name": "Cell Phones & Accessories",
                    "url": "https://www.ebay.com/b/Cell-Phones-Smart-Watches-Accessories/15032/bn_1865441"
                },
                {
                    "id": "9355",
                    "name": "Cell Phones & Smartphones",
                    "url": "https://www.ebay.com/b/Cell-Phones-Smartphones/9355/bn_320094"
                }
            ]
        },
        {
            "id": "127948412895",
            "url": "https://www.ebay.com/itm/127948412895",
            "title": "Apple iPhone 13 256GB Unlocked Good Condition All Colors",
            "condition": "Good - Refurbished",
            "price": 253.86,
            "currency": "USD",
            "shippingPrice": 0,
            "buyingFormat": "fixed",
            "bidCount": null,
            "endingAt": null,
            "image": "https://i.ebayimg.com/images/g/WaQAAeSwUu9qQt6c/s-l1600.jpg",
            "images": [
                "https://i.ebayimg.com/images/g/WaQAAeSwUu9qQt6c/s-l1600.jpg",
                "https://s3-eu-west-1.amazonaws.com/images.linnlive.com/c4aa895ca1f64564a88ced7550deabdb/14be1a11-d3ba-4e2e-be30-dc8a5dffd203.jpg"
            ],
            "itemSpecifics": [
                {
                    "name": "Condition",
                    "value": "Good - Refurbished: The item shows moderate wear and is backed by a one year warranty. It is fully functional and has been professionally refurbished, inspected and cleaned to good condition by qualified sellers. The item includes original or new accessories and will come in a new generic packaging. See the seller's listing for full details."
                },
                {
                    "name": "Brand",
                    "value": "Apple"
                },
                {
                    "name": "Storage Capacity",
                    "value": "256GB"
                }
            ],
            "availableQuantity": null,
            "availability": "More than 10 available",
            "returns": "30 days returns. Seller pays for return shipping",
            "location": "Fort Worth, Texas, United States",
            "seller": {
                "username": "verizon",
                "feedbackScore": 35194,
                "feedbackPercent": 99.5,
                "url": "https://www.ebay.com/usr/verizon"
            },
            "description": "eBay \n\n OFFICIAL VERIZON EBAY STORE\n\n Shop Sale \n\n About Us \n\n Compatibility \n Unlocked | 5G Ready \n\n Shipping \n Free 2-3 Day Delivery \n\n Returns \n 30-Day Free Returns \n\n Apple iPhone 13 256GB …",
            "categories": [
                {
                    "id": "bn_7000259124",
                    "name": "Electronics",
                    "url": "https://www.ebay.com/b/Electronics/bn_7000259124"
                },
                {
                    "id": "15032",
                    "name": "Cell Phones & Accessories",
                    "url": "https://www.ebay.com/b/Cell-Phones-Smart-Watches-Accessories/15032/bn_1865441"
                },
                {
                    "id": "9355",
                    "name": "Cell Phones & Smartphones",
                    "url": "https://www.ebay.com/b/Cell-Phones-Smartphones/9355/bn_320094"
                }
            ]
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/products/batch

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
ids required string

Comma-separated item numbers, up to 5. Example: 127840758849,298457719615

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

Sellers

Seller profiles and their active listings.

GET /v1/ebay/seller

requires authentication

A seller's public profile: username, storeName, feedbackPercent, itemsSold, followers, memberSince, location, and topRated. eBay store pages do not print the lifetime feedback score, so feedbackScore is null for store sellers; /products/details returns it for the seller of a listing.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/seller'
params = {
  'username': 'verizon',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/seller';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'username' => 'verizon',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/seller"
);

const params = {
    "username": "verizon",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/seller?username=verizon" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "username": "verizon",
        "marketplace": "com"
    },
    "body": {
        "username": "verizon",
        "storeName": "Verizon",
        "feedbackScore": null,
        "feedbackPercent": 99.5,
        "itemsSold": 211000,
        "followers": 18000,
        "memberSince": "Jul 13, 2017",
        "location": "United States",
        "topRated": false,
        "url": "https://www.ebay.com/usr/verizon"
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/seller

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username required string

eBay username. Example: verizon

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

GET /v1/ebay/seller/products

requires authentication

A seller's active listings as listing cards, up to 50 per page, with total when eBay shows it.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/seller/products'
params = {
  'username': 'verizon',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/seller/products';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'username' => 'verizon',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/seller/products"
);

const params = {
    "username": "verizon",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/seller/products?username=verizon" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "username": "verizon",
        "page": 1,
        "marketplace": "com"
    },
    "body": {
        "total": 634,
        "items": [
            {
                "id": "128098963678",
                "url": "https://www.ebay.com/itm/128098963678",
                "title": "Apple AirPods Pro 3 with MagSafe Charging Case USB-C | MFHP4LL/A - Good",
                "condition": "Good - Refurbished",
                "sellerType": null,
                "price": 157.06,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/images/g/FsEAAeSwhcFqtv~J/s-l500.webp",
                "seller": {
                    "username": "verizon",
                    "feedbackPercent": 99.5
                }
            },
            {
                "id": "128098880819",
                "url": "https://www.ebay.com/itm/128098880819",
                "title": "Apple AirPods Pro 2nd Gen Earbuds w/ MagSafe Case MTJV3LL/A | White Open Box",
                "condition": "Open Box",
                "sellerType": null,
                "price": 120.99,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/images/g/fSIAAeSw6dRqtu7x/s-l500.webp",
                "seller": {
                    "username": "verizon",
                    "feedbackPercent": 99.5
                }
            },
            {
                "id": "128098878879",
                "url": "https://www.ebay.com/itm/128098878879",
                "title": "Google Pixel Buds Pro 2 True Wireless Earbuds GA05762 | Hazel Open Box",
                "condition": "Open Box",
                "sellerType": null,
                "price": 148.17,
                "currency": "USD",
                "shippingPrice": 0,
                "buyingFormat": "fixed",
                "bidCount": null,
                "endingAt": null,
                "image": "https://i.ebayimg.com/images/g/xNkAAeSwxmBqtu6K/s-l140.webp",
                "seller": {
                    "username": "verizon",
                    "feedbackPercent": 99.5
                }
            }
        ]
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/seller/products

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username required string

eBay username. Example: verizon

marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

page optional integer

Results page, 1 to 10 (default 1).

Categories

The category tree and URL lookup.

GET /v1/ebay/categories

requires authentication

Without categoryId: the category tree from eBay's All Categories page, three levels deep, each entry with id, name, url, and parentId (null at the top). With categoryId: that category first, then its direct subcategories. Some curated top-level categories have an id such as bn_7000259124 instead of a number.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/categories'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/categories';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/categories"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/categories" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "marketplace": "com"
    },
    "body": [
        {
            "id": "6000",
            "name": "eBay Motors",
            "url": "https://www.ebay.com/b/Auto-Parts-and-Vehicles/6000/bn_1865334",
            "parentId": null
        },
        {
            "id": "6028",
            "name": "Parts & Accessories",
            "url": "https://www.ebay.com/b/Auto-Parts-Accessories/6028/bn_569479",
            "parentId": "6000"
        },
        {
            "id": "6030",
            "name": "Car & Truck Parts & Accessories",
            "url": "https://www.ebay.com/b/Car-Truck-Parts-Accessories/6030/bn_562630",
            "parentId": "6028"
        },
        {
            "id": "10063",
            "name": "Motorcycle & Scooter Parts & Accessories",
            "url": "https://www.ebay.com/b/Motorcycle-Scooter-Parts-Accessories/10063/bn_557636",
            "parentId": "6028"
        },
        {
            "id": "107057",
            "name": "Performance & Racing Parts",
            "url": "https://www.ebay.com/b/Performance-Racing-Parts/107057/bn_568110",
            "parentId": "6028"
        },
        {
            "id": "38635",
            "name": "In-Car Technology, GPS & Security Devices",
            "url": "https://www.ebay.com/b/In-Car-Technology-GPS-Security-Devices/38635/bn_562662",
            "parentId": "6028"
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/categories

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
marketplace optional string

eBay site: com (default), co.uk, de, ca, com.au, fr, it, or es.

categoryId optional string

A category id from this endpoint.

GET /v1/ebay/resolve

requires authentication

What an eBay link points to: type (item, seller, or category), id, marketplace, and a canonical url. Read from the link itself; no eBay page is loaded.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/ebay/resolve'
params = {
  'url': 'https://www.ebay.com/itm/127840758849',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/ebay/resolve';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'url' => 'https://www.ebay.com/itm/127840758849',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/ebay/resolve"
);

const params = {
    "url": "https://www.ebay.com/itm/127840758849",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/ebay/resolve?url=https%3A%2F%2Fwww.ebay.com%2Fitm%2F127840758849" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "url": "https://www.ebay.com/itm/127943765980",
        "marketplace": "com"
    },
    "body": {
        "type": "item",
        "id": "127943765980",
        "marketplace": "com",
        "url": "https://www.ebay.com/itm/127943765980"
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/ebay/resolve

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
url required string

An eBay item, store, seller, or category link. Example: https://www.ebay.com/itm/127840758849