{"id":13602116,"url":"https://github.com/Ephigenia/ikea-availability-checker","last_synced_at":"2025-04-11T08:31:34.772Z","repository":{"id":20976531,"uuid":"24265549","full_name":"Ephigenia/ikea-availability-checker","owner":"Ephigenia","description":"Command-Line-Script \u0026 Library for checking the availability of specific IKEA products in specific stores and/or countries.","archived":false,"fork":false,"pushed_at":"2025-01-02T11:35:43.000Z","size":2746,"stargazers_count":240,"open_issues_count":5,"forks_count":40,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-02T12:29:25.834Z","etag":null,"topics":["api","automation","bu-codes","cli","command-line","command-line-tool","furniture","ikea","iows","stock","storage","warehouse"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ephigenia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["ephigenia"],"open_collective":"ephigenia"}},"created_at":"2014-09-20T14:58:19.000Z","updated_at":"2024-12-30T22:21:52.000Z","dependencies_parsed_at":"2023-01-16T22:00:48.838Z","dependency_job_id":"31c72f85-6c54-421f-ad4e-12c59bfccd5d","html_url":"https://github.com/Ephigenia/ikea-availability-checker","commit_stats":{"total_commits":408,"total_committers":24,"mean_commits":17.0,"dds":"0.23039215686274506","last_synced_commit":"9c6f6b84e2c5a676a59a056096b09ae5b5ff35b4"},"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ephigenia%2Fikea-availability-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ephigenia%2Fikea-availability-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ephigenia%2Fikea-availability-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ephigenia%2Fikea-availability-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ephigenia","download_url":"https://codeload.github.com/Ephigenia/ikea-availability-checker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248361554,"owners_count":21090930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","automation","bu-codes","cli","command-line","command-line-tool","furniture","ikea","iows","stock","storage","warehouse"],"created_at":"2024-08-01T18:01:14.480Z","updated_at":"2025-04-11T08:31:34.761Z","avatar_url":"https://github.com/Ephigenia.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ephigenia","https://opencollective.com/ephigenia"],"categories":["cli"],"sub_categories":[],"readme":"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.\n\n[![MIT License](https://badges.frapsoft.com/os/mit/mit.svg?v=102)](https://github.com/ellerbrock/open-source-badge/)\n[![NPM Package](https://badge.fury.io/js/ikea-availability-checker.svg)](https://www.npmjs.com/package/ikea-availability-checker)\n[![NPM Downloads](https://img.shields.io/npm/dt/ikea-availability-checker.svg)](https://www.npmjs.com/package/ikea-availability-checker)\n[![Known Vulnerabilities](https://snyk.io/test/github/ephigenia/ikea-availability-checker/badge.svg)](https://snyk.io/test/github/ephigenia/ikea-availability-checker)\n[![default](https://github.com/Ephigenia/ikea-availability-checker/actions/workflows/default.yml/badge.svg?branch=master)](https://github.com/Ephigenia/ikea-availability-checker/actions/workflows/default.yml)\n[![smokey](https://github.com/Ephigenia/ikea-availability-checker/actions/workflows/smokey.yml/badge.svg)](https://github.com/Ephigenia/ikea-availability-checker/actions/workflows/smokey.yml)\n\nPlease report any bugs related to this alpha in the issues: https://github.com/Ephigenia/ikea-availability-checker/issues\n\nFeatures\n================================================================================\n\n- supports listings from \u003e400 IKEA stores worldwide\n- get product stock amount for a whole country or single store in JSON, Text and CLI-Table format\n- support for many countries:\n    - at, au, be, ca, ch, cn, cz, de, dk, es, fi, fr, gb, hk, hu, hr, ie, it, jo, jp, kr, kw, lt, lv, my, nl, no, pl, pt, qa, ro, sa, se, sg, sk, th, tw, us - [![smokey](https://github.com/Ephigenia/ikea-availability-checker/actions/workflows/smokey.yml/badge.svg)](https://github.com/Ephigenia/ikea-availability-checker/actions/workflows/smokey.yml)\n    - Russia (ru) is closed down\n- [javascript API](#api) for easy integration in your library or project\n\nCommand Line\n================================================================================\n\n## Install\n\n### Global\n\nA globally installed ikea-availability-checker can be used anywhere but there can only be one version of it.\n\n    npm install -g ikea-availability-checker\n\nAfter you can run the ikea-availability-checker directly:\n\n    ikea-availability\n\n### Local\n\nA locally installed ikea-availability-checker will be placed in `./node_modules/ikea-availability-checker` and can be called using the binary link:\n\n    npm install ikea-availability-checker;\n    node_modules/.bin/ikea-availability-checker --help;\n\n### NPX\n\nOr call it directly using [npx](https://www.npmjs.com/package/npx):\n\n    npx ikea-availability-checker --help\n\n## Use\n### Stores\n\n    npx ikea-availability-checker stores at\n\n    ┌─────────────┬─────────┬────────┬────────────────┐\n    │ countryCode │ country │ buCode │ name           │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 085    │ Wien Vösendorf │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 090    │ Wien Nord      │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 155    │ Klagenfurt     │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 273    │ Innsbruck      │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 386    │ Salzburg       │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 387    │ Graz           │\n    ├─────────────┼─────────┼────────┼────────────────┤\n    │ at          │ Austria │ 388    │ Haid           │\n    └─────────────┴─────────┴────────┴────────────────┘\n\n\n### Stock\n\n#### Product Stock Information for a whole country\n\n    npx ikea-availability-checker stock --country at 80213074\n\n    ┌──────────────────────────┬─────────────┬─────────┬──────────┬──────────────────┬────────────────┬───────┬───────────────┐\n    │ date                     │ countryCode │ country │ product  │ storeId (buCode) │ store          │ stock │ probability   │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:14:05.302Z │ at          │ Austria │ 80213074 │ 387              │ Graz           │    55 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T09:53:08.594Z │ at          │ Austria │ 80213074 │ 388              │ Haid           │    54 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:16:10.187Z │ at          │ Austria │ 80213074 │ 273              │ Innsbruck      │    86 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:05:41.339Z │ at          │ Austria │ 80213074 │ 155              │ Klagenfurt     │    64 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:02:42.000Z │ at          │ Austria │ 80213074 │ 386              │ Salzburg       │    69 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:20:21.286Z │ at          │ Austria │ 80213074 │ 090              │ Wien Nord      │    85 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼──────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T13:03:37.274Z │ at          │ Austria │ 80213074 │ 085              │ Wien Vösendorf │    94 │ HIGH_IN_STOCK │\n    └──────────────────────────┴─────────────┴─────────┴──────────┴──────────────────┴────────────────┴───────┴───────────────┘\n\n\n\n#### Product Stock Information for a specific store\n\n##### with BU-Code (Store-Id)\n\n    npx ikea-availability-checker stock --store=155 S69022537\n\n    ┌──────────────────────────┬─────────────┬─────────┬───────────┬──────────────────┬────────────┬───────┬───────────────┐\n    │ date                     │ countryCode │ country │ product   │ storeId (buCode) │ store      │ stock │ probability   │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:06:00.066Z │ at          │ Austria │ S69022537 │ 155              │ Klagenfurt │    23 │ HIGH_IN_STOCK │\n    └──────────────────────────┴─────────────┴─────────┴───────────┴──────────────────┴────────────┴───────┴───────────────┘\n\n\n##### Store-Name / Location / City-Name\n\nThe \"store\" option also accepts strings that match on the location’s name:\n\n    npx ikea-availability-checker stock --store=Berlin 40413131\n\n\n#### Multiple Stores and Product Ids\n\nThe list of bu-codes can also contain bu-codes from different countries.\n\n    npx ikea-availability-checker stock --store=224,069,063 S69022537 40299687\n\n    ┌──────────────────────────┬─────────────┬─────────┬───────────┬──────────────────┬────────────────┬───────┬───────────────┐\n    │ date                     │ countryCode │ country │ product   │ storeId (buCode) │ store          │ stock │ probability   │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:23:06.064Z │ de          │ Germany │ S69022537 │ 063              │ München-Eching │    30 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T03:20:08.203Z │ de          │ Germany │ S69022537 │ 069              │ Oldenburg      │     8 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T12:24:09.811Z │ de          │ Germany │ S69022537 │ 224              │ Sindelfingen   │    14 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:20:27.278Z │ de          │ Germany │ 40299687  │ 063              │ München-Eching │    27 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T03:08:49.874Z │ de          │ Germany │ 40299687  │ 069              │ Oldenburg      │    11 │ HIGH_IN_STOCK │\n    ├──────────────────────────┼─────────────┼─────────┼───────────┼──────────────────┼────────────────┼───────┼───────────────┤\n    │ 2022-09-11T04:39:05.053Z │ de          │ Germany │ 40299687  │ 224              │ Sindelfingen   │    16 │ HIGH_IN_STOCK │\n    └──────────────────────────┴─────────────┴─────────┴───────────┴──────────────────┴────────────────┴───────┴───────────────┘\n\n\n\nAPI \n================================================================================\n\nThe 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](https://github.com/Ephigenia/ikea-availability-checker/issues).\n\n```javascript\nconst checker = require('ikea-availability-checker');\n\n(async function() {\n    const result = await checker.availability('394', '00501436');\n    console.log('RESULT', result);\n})();\n```\n\nCheckout more examples in the [examples](./examples) directory.\n\nDevelopment\n================================================================================\n\n## Requirements\n\n- [nodejs](https://nodejs.org) for version info check [.nvmrc](./.nvmrc).\n*it is strongly recommended to use either nvm and the same node version or the docker container as a development environment*\n\n\n## Debug\n\nNode provides a simple way to debug all HTTP-related requests and responses using `NODE_DEBUG`:\n\n    NODE_DEBUG=http npm run start\n\n\n## Testing\n\nThe project has a preconfigured test runner [mocha](https://mochajs.org/). Test coverage is not good.\n\nRunning all tests will also create coverage reports shown after the test results.\n\n    npm run test\n\n### TDD\n\n    npm run tdd\n\n### Run Specific tests\n\n    run test -- --grep=\"stock reporter\"\n\n### Smoke Testing\n\nTwo shell scripts can be used for testing the different output formats and all or some countries in the \"/scripts\" directory.\n\n### Request Testing\n\nThere’s a public postman collection: [IKEA Workspace](https://www.postman.com/crimson-rocket-271330/workspace/ikea/overview) for you to access which is also linked with this repository: /postman/collection\n\n## Release\n\nReleases are automated and created by CI managed by [semantic-release](https://github.com/semantic-release/semantic-release).\n\n## Trouble Shooting\n\n- I want to deactivate colored output\n    Colored output can be disabled by setting the `FORCE_COLOR=1` before running a command: `FORCE_COLOR=0 npx ikea-availability-checker stores de`\n\n\nOther Projects \u0026 Articles\n================================================================================\n\n## Articles \u0026 Resources\n\n- npm package [ikea-stock-checker](https://www.npmjs.com/package/ikea-stock-checker)\n- [API of the Day: Checking IKEA Availability and Warehouse Locations](https://medium.com/@JoshuaAJung/api-of-the-day-ikea-availability-checks-8678794a9b52) by Joshua Jung\n- [IKEA Reddit](https://www.reddit.com/r/IKEA/)\n- [IKEA Mobile api description](https://del.dog/ikeamobileapi.md)\n\n## Packages\n\n- [vrslev/ikea-api-client](https://github.com/vrslev/ikea-api-client) alternate IKEA API Client\n- [ikea stock checker](https://github.com/lovegandhi/ikea-stock-checker)\n- [ikea stock finder](https://github.com/sasasoni/ikea_stock_finder) Japanese ruby\n- [ikea scraper](https://github.com/LordBonzi/ikea-scraper) python stock scraper\n- [ikea bot](https://github.com/xorik/ikea-bot) telegram notification bot\n\n## Services\n\n- [Stock Hound](https://github.com/spgill/stock-hound) [website](http://stockhound.spgill.me/)\n- [IKEA Click \u0026 Collect Availability](https://ikea-status.dong.st/) website for us-stores\n- [ikea-availability-web](https://github.com/anditosl/ikea-availability-web)\n\n- [ikeaprices](https://github.com/mnazarov/ikeaprices) browser snippet for comparing prices in different countries\n\n\u003chr\u003e\n\u003csmall\u003e\n† This website is not run by or affiliated with Inter-IKEA Systems B.V. or its related business entities.\n\nIKEA® is a registered trademark of Inter-IKEA Systems B.V. in the U.S. and other countries.\n\u003c/small\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEphigenia%2Fikea-availability-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEphigenia%2Fikea-availability-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEphigenia%2Fikea-availability-checker/lists"}