Scrapes orders and refunds from Amazon.com.
There's no offical API to retrieve these, so this library uses Puppeteer internally to access them. As this isn't an officially supported API, it may break at any time. Puppeteer comes with some other caveats, notably when running in Docker. See Puppeteer's troubleshooting section if you run into issues.
This library has only been tested on Amazon.com with the language set to English. It's unknown if it will work in other regions/languages.
npm i amazon-order-reports-api
import { AmazonOrderReportsApi } from 'amazon-order-reports-api';
(async () => {
const api = new AmazonOrderReportsApi({
username: '[email protected]',
password: 'password1234',
// Or use otpFn
otpSecret: 'USJF YSN7 87YR PP4D AN78 FAAF 81D8 1PU9 JJRF QP87 9UDM IO3W SJRY'
});
for await (const item of api.getItems({
startDate: new Date('2020-10-01'),
endDate: new Date('2020-12-31')
})) {
console.log(item);
}
for await (const refund of api.getRefunds({
startDate: new Date('2020-10-01'),
endDate: new Date('2020-12-31')
})) {
console.log(refund);
}
await api.stop();
})();
API docs are available on the docs site
As a side effect of generating an order report, Amazon will send an email notification that the order report is ready. This can generate a large volume of emails if reports are retrieved frequently. In many mail providers, an e-mail filter can be used to delete or move these emails. E.g. in Gmail:
from:([email protected]) subject:(Your order history report)