Sometimes there is a high demand for products that are unavailable in the IKEA online store and even in the locations. So here’s a script that makes it easy to check the availability of a list of products and locations.
Please report any bugs related to this alpha in the issues: https://github.com/Ephigenia/ikea-availability-checker/issues
- supports listings from >400 IKEA stores worldwide
- get product stock amount for a whole country or single store in JSON, Text and CLI-Table format
- support for many countries:
- javascript API for easy integration in your library or project
A globally installed ikea-availability-checker can be used anywhere but there can only be one version of it.
npm install -g ikea-availability-checker
After you can run the ikea-availability-checker directly:
ikea-availability
A locally installed ikea-availability-checker will be placed in ./node_modules/ikea-availability-checker
and can be called using the binary link:
npm install ikea-availability-checker;
node_modules/.bin/ikea-availability-checker --help;
Or call it directly using npx:
npx ikea-availability-checker --help
npx ikea-availability-checker stores at
┌─────────────┬─────────┬────────┬────────────────┐
│ countryCode │ country │ buCode │ name │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 085 │ Wien Vösendorf │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 090 │ Wien Nord │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 155 │ Klagenfurt │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 273 │ Innsbruck │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 386 │ Salzburg │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 387 │ Graz │
├─────────────┼─────────┼────────┼────────────────┤
│ at │ Austria │ 388 │ Haid │
└─────────────┴─────────┴────────┴────────────────┘
npx ikea-availability-checker stock --country at 80213074
┌──────────────────────────┬─────────────┬─────────┬──────────┬──────────────────┬────────────────┬───────┬───────────────┐
│ date │ countryCode │ country │ product │ storeId (buCode) │ store │ stock │ probability │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:14:05.302Z │ at │ Austria │ 80213074 │ 387 │ Graz │ 55 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T09:53:08.594Z │ at │ Austria │ 80213074 │ 388 │ Haid │ 54 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:16:10.187Z │ at │ Austria │ 80213074 │ 273 │ Innsbruck │ 86 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:05:41.339Z │ at │ Austria │ 80213074 │ 155 │ Klagenfurt │ 64 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:02:42.000Z │ at │ Austria │ 80213074 │ 386 │ Salzburg │ 69 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:20:21.286Z │ at │ Austria │ 80213074 │ 090 │ Wien Nord │ 85 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T13:03:37.274Z │ at │ Austria │ 80213074 │ 085 │ Wien Vösendorf │ 94 │ HIGH_IN_STOCK │
└──────────────────────────┴─────────────┴─────────┴──────────┴──────────────────┴────────────────┴───────┴───────────────┘
npx ikea-availability-checker stock --store=155 S69022537
┌──────────────────────────┬─────────────┬─────────┬───────────┬──────────────────┬────────────┬───────┬───────────────┐
│ date │ countryCode │ country │ product │ storeId (buCode) │ store │ stock │ probability │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────┼───────┼───────────────┤
│ 2022-09-11T04:06:00.066Z │ at │ Austria │ S69022537 │ 155 │ Klagenfurt │ 23 │ HIGH_IN_STOCK │
└──────────────────────────┴─────────────┴─────────┴───────────┴──────────────────┴────────────┴───────┴───────────────┘
The "store" option also accepts strings that match on the location’s name:
npx ikea-availability-checker stock --store=Berlin 40413131
The list of bu-codes can also contain bu-codes from different countries.
npx ikea-availability-checker stock --store=224,069,063 S69022537 40299687
┌──────────────────────────┬─────────────┬─────────┬───────────┬──────────────────┬────────────────┬───────┬───────────────┐
│ date │ countryCode │ country │ product │ storeId (buCode) │ store │ stock │ probability │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:23:06.064Z │ de │ Germany │ S69022537 │ 063 │ München-Eching │ 30 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T03:20:08.203Z │ de │ Germany │ S69022537 │ 069 │ Oldenburg │ 8 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T12:24:09.811Z │ de │ Germany │ S69022537 │ 224 │ Sindelfingen │ 14 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:20:27.278Z │ de │ Germany │ 40299687 │ 063 │ München-Eching │ 27 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T03:08:49.874Z │ de │ Germany │ 40299687 │ 069 │ Oldenburg │ 11 │ HIGH_IN_STOCK │
├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤
│ 2022-09-11T04:39:05.053Z │ de │ Germany │ 40299687 │ 224 │ Sindelfingen │ 16 │ HIGH_IN_STOCK │
└──────────────────────────┴─────────────┴─────────┴───────────┴──────────────────┴────────────────┴───────┴───────────────┘
The API interface which helps you include the check into your library is kind of new. If you have suggestions for improvements feel free to open an issue.
const checker = require('ikea-availability-checker');
(async function() {
const result = await checker.availability('394', '00501436');
console.log('RESULT', result);
})();
Checkout more examples in the examples directory.
- nodejs for version info check .nvmrc. it is strongly recommended to use either nvm and the same node version or the docker container as a development environment
Node provides a simple way to debug all HTTP-related requests and responses using NODE_DEBUG
:
NODE_DEBUG=http npm run start
The project has a preconfigured test runner mocha. Test coverage is not good.
Running all tests will also create coverage reports shown after the test results.
npm run test
npm run tdd
run test -- --grep="stock reporter"
Two shell scripts can be used for testing the different output formats and all or some countries in the "/scripts" directory.
There’s a public postman collection: IKEA Workspace for you to access which is also linked with this repository: /postman/collection
Releases are automated and created by CI managed by semantic-release.
- I want to deactivate colored output
Colored output can be disabled by setting the
FORCE_COLOR=1
before running a command:FORCE_COLOR=0 npx ikea-availability-checker stores de
- npm package ikea-stock-checker
- API of the Day: Checking IKEA Availability and Warehouse Locations by Joshua Jung
- IKEA Reddit
- IKEA Mobile api description
- vrslev/ikea-api-client alternate IKEA API Client
- ikea stock checker
- ikea stock finder Japanese ruby
- ikea scraper python stock scraper
- ikea bot telegram notification bot
-
IKEA Click & Collect Availability website for us-stores
-
ikeaprices browser snippet for comparing prices in different countries
† This website is not run by or affiliated with Inter-IKEA Systems B.V. or its related business entities.
IKEA® is a registered trademark of Inter-IKEA Systems B.V. in the U.S. and other countries.