npm install ebay-api@10.0.0v10 is a major release that removes the eBay APIs and operations eBay has decommissioned, refreshes every RESTful OpenAPI spec to its latest published version, and adds the Sell Stores API. The public interface — auth, config, request handling — is unchanged. You only need to act if your app called one of the removed operations.
📖 Migrating from v9 to v10 — every removal is listed there by API, with the replacement where one exists.
⚠ Breaking changes
Removed APIs
| Removed | Notes |
|---|---|
Finding API (eBay.finding) |
eBay took the traditional Finding API down server-side in February 2025. Migrate item search to the Buy Browse API. |
Sell Compliance API (eBay.sell.compliance) |
Decommissioned by eBay on 2026-03-30; the docs and published spec were withdrawn. |
Removed operations
Every operation below was dropped from eBay's own published OpenAPI spec — calling one on v9 already failed against the live API.
- Buy Order migrated v1 → v2: only the guest checkout flow remains. The member checkout session, proxy-guest checkout session, payment-info, initiate-payment and place-order operations are gone.
- Buy Browse:
addItem,removeItem,updateQuantity,getShoppingCart - Buy Feed:
getProductFeed - Buy Marketing:
getAlsoBoughtByProduct,getAlsoViewedByProduct - Commerce Catalog:
getChangeRequest,getChangeRequests,getProductMetadata,getProductMetadataForCategories - Commerce Charity:
getCharityOrgByLegacyId - Sell Account v1:
getSalesTaxJurisdictions, plus the seven inventory-location methods — those were duplicates pointing at/sell/account/v1/location, a path eBay does not serve. Use the working implementations oneBay.sell.inventory. - Sell Marketing:
setupQuickCampaign,launchCampaign - Sell Metadata:
getProductAdoptionPolicies - Post-Order: 29 methods across the return, case, inquiry and cancellation APIs
The request types used only by removed methods were dropped with them.
Renamed
eBay.commerce.notification.test()→testSubscription(), matching eBay'soperationId.
Behaviour changes
- Per-request headers now win over the client-wide defaults. Previously the library's default
Content-Type: application/jsonoverwrote themultipart/form-dataheader the upload endpoints set, socreateImageFromFile,uploadDocument,uploadPostOrderDocument,sell.feed.uploadFileandsell.fulfillment.uploadEvidenceFilewere rejected by eBay. They work now. A per-requestContent-Typealso overrides one set globally viaapiConfig.headers. IEBayApiRequestgained a requiredpatchmember. If you inject a custom request implementation, addpatch(url, data?, config?). The bundledAxiosRequestalready has it.eBay.sell.finances—filteracceptsstring | string[]on all seven filter-taking methods.getOrderEarningsSummarynow takes an options object.
Features
- Sell Stores API (
eBay.sell.stores) — manage the categories of a seller's eBay store - Sell Account API v2 (
eBay.sell.accountV2) — rate tables, payout settings, combined shipping rules, user preferences - All RESTful specs refreshed to eBay's latest published versions, adding a number of new methods — among them
eBay.buy.feed.getItemPriorityFeedand 19 new Sell Metadata operations includinggetCategoryPolicies(#209)
Bug fixes
- Default headers no longer overwrite per-request headers, unbreaking five upload endpoints
commerce.media.uploadVideosendsapplication/octet-streamand accepts headers for resumable uploads (#215)sell.logistics.downloadLabelFilerequestsapplication/pdfand returns the raw buffer instead of parsing a PDF as JSON- A
DELETEbody now reaches the digital-signature payload, socontent-digestis emitted for it - The Media API is complete against its spec, including the post-order document endpoints (#206)
Under the hood
oas.spec.tsnow enforces the spec in both directions: every spec operation must be implemented, and every implemented method must exist in the spec — so a future spec refresh cannot leave dead methods behind- New
npm run typecheckcoveringsrc,testandexamples, wired intoprerelease - The OpenAPI fetch script validates JSON before overwriting a spec, decodes UTF-8 correctly, exits non-zero on failure, and reports operations a refresh drops
npm auditclean
Full changelog: v9.6.0...v10.0.0