Ebay API Client for node js.
The intent is to simplify the request process by handling the tedious logic. It's a thin wrapper around eBay Api.
- Installation
- Usage
- Examples
- Getting Access Token
- Fetch Items By Keyword
- Get All Categories
- Get Items By Category
- Get Single Item
- Get Item By Legacy Id
- Get Items By Group Id
- Search Items by Keyword
- Search Items with Free Shipping
- Search Items Based on Price and Condition
- Taxonomy Api(getDefaultCategoryTreeId, getCategoryTree, getCategorySubtree, getCategorySuggestions)
- Test
- Issues
- Contribution
- LICENSE
npm install ebay-node-api
let eBay = require('ebay-node-api')
let ebay = new eBay({
clientID: "-- Client APP ID ----",
// options - optional HTTP request timeout to apply to all requests.
})
Creates a new Ebay
instance.
Join eBay developers program. Register your app here https://go.developer.ebay.com/quick-start-guide.
clientID
- Required(String
) - Client Id key provided when you register in eBay developers program.limit
- optional(Number
) - fetch items functionality - Number that limits the number of data you need in response.details
- optional(Boolean
) - Get User Details functionality - true, if you need details about the user.
const Ebay = require("ebay-node-api");
let ebay = new Ebay({
clientID: "--Client Id----",
clientSecret: '-- Client Secret --',
body: {
grant_type: "client_credentials"
}
});
ebay.getAccessToken().then((data) => {
console.log(data); // data.access_token
}, (error) => {
console.log(error);
});
const Ebay = require("ebay-node-api");
let ebay = new Ebay({
clientID: "-- Client APP ID ----",
limit: 6
});
ebay.findItemsByKeywords("iphone").then((data) => {
console.log(data); // fetches top 6 results in form of JSON.
}, (error) => {
console.log(error);
});
const Ebay = require("ebay-node-api");
let ebay = new Ebay({
clientID: "-- Client App id ----",
details: "childCategories" //optional parameter
});
ebay.getAllCategories().then((data) => {
console.log(data); //extract data.CategoryArray
}, (error) => {
console.log(error);
})
let ebay = new Ebay({
clientID: "-- Client APP ID ----",
limit: 6
});
ebay.findItemsByCategory(10181).then((data) => {
console.log(data);
}, (error) => {
console.log(error);
});
// Get access token and pass it to this method
ebay.getAccessToken()
.then((data) => {
ebay.getItem('v1|202117468662|0').then((data) => {
console.log(data);
// Data is in format of JSON
// To check the format of Data, Go to this url (https://jsonblob.com/56cbea67-30b8-11e8-953c-5d1886dcf4a0)
})
});
ebay.getAccessToken()
.then((data) => {
ebay.getItemByLegacyId({
"legacyItemId": 2628001 // Get Item Details Using a Legacy ID
"legacyVariationSku": "V-00031-WHM" // default null
}).then((data) => {
if (!data) console.log(data);
// Data is in format of JSON
// To check the format of Data, Go to this url (https://jsonblob.com/56cbea67-30b8-11e8-953c-5d1886dcf4a0)
});
});
ebay.getAccessToken()
.then((data) => {
ebay.getItemByItemGroup("151915076499").then((data) => {
// Data is in format of JSON
// To check the format of Data, Go to this url (https://jsonblob.com/56cbea67-30b8-11e8-953c-5d1886dcf4a0)
console.log(data)
}, (error) => {
console.log(error);
});
});
ebay.getAccessToken()
.then((data) => {
ebay.searchItems({
keyword: "drone",
limit: "3"
}).then((data) => {
console.log(data);
// Data is in format of JSON
// To check the format of Data, Go to this url (https://developer.ebay.com/api- docs/buy/browse/resources/item_summary/methods/search#w4-w1-w4-SearchforItemsbyKeyword-0)
})
});
ebay.getAccessToken()
.then((data) => {
ebay.searchItems({
keyword: "drone",
limit: 3,
filter: { maxDeliveryCost: 0 }
}).then((data) => {
console.log(data);
// Data is in format of JSON
// To check the format of Data, Go to this url https://developer.ebay.com/api-docs/buy/browse/resources/item_summary/methods/search#w4-w1-w4-ReturnItemswithFreeShipping-6.
})
});
ebay.getAccessToken()
.then((data) => {
ebay.searchItems({
keyword: "iphone",
limit: 3,
filter: { price: "[300..800]", priceCurrency: "USD", conditions: "NEW" }
}).then((data) => {
console.log(data);
// Data is in format of JSON
// To check the format of Data, Go to this url https://developer.ebay.com/api-docs/buy/browse/resources/item_summary/methods/search#w4-w1-w4-ReturnItemsBasedonPriceandCondition-7.
})
});
ebay.getAccessToken()
.then((data) => {
ebay.getDefaultCategoryTreeId("EBAY_US").then((data) => {
console.log(data);
// for EN_US { categoryTreeId: '0', categoryTreeVersion: '119' }
});
ebay.getCategoryTree(0).then((data) => {
console.log(data);
// JSON format of complete category tree.
});
ebay.getCategorySubtree(0, 11450).then((data) => {
console.log(data);
// JSON format of complete category sub tree.
});
ebay.getCategorySuggestions(0, "iphone").then((data) => {
console.log(data);
// JSON format of category suggestions.
});
ebay.getItemAspectsForCategory(0, 67726).then((data) => {
console.log(data);
// JSON format of complete category sub tree.
});
});
All test files are present inside test folder. You can run using
npm run test
If you are facing any issues, you can create the issues here.
Willing to share your idea or ready to contribute, check here
MIT.
I have mentioned the examples here https://github.com/ajay2507/ebay-node-api/tree/master/demo.