{"id":18644145,"url":"https://github.com/indix/indix-api-nodejs","last_synced_at":"2026-03-11T09:31:44.545Z","repository":{"id":42215729,"uuid":"58537059","full_name":"indix/indix-api-nodejs","owner":"indix","description":"Indix API NodeJS Client","archived":false,"fork":false,"pushed_at":"2017-04-05T10:06:24.000Z","size":394,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-07-27T10:45:12.404Z","etag":null,"topics":["api","indix","indix-api","nodejs","product-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-11T10:53:51.000Z","updated_at":"2018-02-21T03:12:02.000Z","dependencies_parsed_at":"2022-07-10T21:02:10.713Z","dependency_job_id":null,"html_url":"https://github.com/indix/indix-api-nodejs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/indix/indix-api-nodejs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indix%2Findix-api-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indix%2Findix-api-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indix%2Findix-api-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indix%2Findix-api-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indix","download_url":"https://codeload.github.com/indix/indix-api-nodejs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indix%2Findix-api-nodejs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30377275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","indix","indix-api","nodejs","product-api"],"created_at":"2024-11-07T06:10:11.344Z","updated_at":"2026-03-11T09:31:44.527Z","avatar_url":"https://github.com/indix.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Indix API NodeJS Client\nThis is an API client library for the Indix API written in NodeJS. For detailed documentation, please visit the [Indix Developer Portal](https://developer.indix.com/).\n\n## Requirements\nNode v5.0.0 or later\n\n## Installation\nRun the following command in your NodeJS project directory to download and install the API client.\n```\nnpm install indix-api-nodejs --save\n```\n\n## Usage\nThe client needs to be first instantiated with the appropriate application id and key to be able to use the different api endpoints.\n```js\nvar ixClient = require('indix-api-nodejs');\nixClient.init({\n  appKey: 'APP_KEY'\n});\n```\nVisit [developer.indix.com](the Indix developer portal) to get your own App ID and Key.\n\n## Search for Brands, Stores or Categories\n### Brands\n```js\nvar query = { q: 'Nike' }\nixClient.getBrands(query).then(function(results){\n  console.log(results[0]); // would print { id: 5572, name: 'Nike' }\n});\n```\n### Stores\n```js\nvar query = { q: 'Amazon.com' }\nixClient.getStores(query).then(function(results){\n  console.log(results[0]); // would print { id: 270, name: 'Amazon.com Marketplace', countryCode: 'US' }\n});\n```\n### Categories\n*Note: This endpoint downloads all categories. This is not a search end point.*\n```js\nixClient.getCategories().then(function(results){\n  console.log(results[0]); // would print { id: 10161, idPath: \"10161\", name: 'Computers \u0026 Accessories', namePath: 'Computers \u0026 Accessories' }\n});\n```\n\n## Search suggestions\n```js\nvar query = { q: 'red', countryCode: 'US' }\nixClient.getSearchSuggestions(query).then(function(results){\n  console.log(results[0]); // would be 'red'\n});\n```\n\n## Search for products\n```js\nvar query = { q: 'nike', countryCode: 'US' }\nixClient.getProductSummary(query).then(function(results){\n  console.log(results[0]); // would print the product information of the first product\n  console.log(results[0].mpid); // would print the mpid of the first product\n});\n```\nList of all methods, each of which will return different types of product information.\n```js\nixClient.getProductSummary();\nixClient.getProductOffersStandard();\nixClient.getProductOffersPremium();\nixClient.getProductCatalogStandard();\nixClient.getProductCatalogPremium();\nixClient.getProductUniversal();\n```\n\n## Lookup a specific product\n```js\nvar query = { mpid: '8e1d8cd338ada38624d2f9322b259402', countryCode: 'US' }\nixClient.getProductLookupSummary(query).then(function(result){\n  console.log(result); // would print the product information of the product\n  console.log(result.mpid); // would print the mpid of the product\n});\n```\nList of all methods, each of which will return different types of product information.\n```js\nixClient.getProductLookupSummary();\nixClient.getProductLookupOffersStandard();\nixClient.getProductLookupOffersPremium();\nixClient.getProductLookupCatalogStandard();\nixClient.getProductLookupCatalogPremium();\nixClient.getProductLookupUniversal();\n```\n\n## Bulk processing\nThe API supports processing a large volume of products at once. This is an asynchronous process and requires a 3 step process:\n\n1. Submit a query, which returns a `Job ID`.\n2. Poll for the job status until it is complete.\n3. Once complete, download the products.\n\n## Bulk search for products\n### Submit a query\n```js\nvar query = { storeId: [68], countryCode: 'US' }\nixClient.getBulkProductSummary(query).then(function(jobInfo){\n  console.log(jobInfo); // would be like { id: 1234, status: 'SUBMITTED' }\n});\n```\n\nList of all methods, each of which will return different types of product information.\n```js\nixClient.getBulkProductSummary();\nixClient.getBulkProductOffersStandard();\nixClient.getBulkProductOffersPremium();\nixClient.getBulkProductCatalogStandard();\nixClient.getBulkProductCatalogPremium();\nixClient.getBulkProductUniversal();\n```\n\n### Poll for job status\n```js\nixClient.getJobStatus(1234).then(function(jobInfo){\n  console.log(jobInfo); // would be like { id: 1234, status: 'COMPLETED', count: 10000 }\n});\n```\n\n### Download the products\n```js\nixClient.downloadProducts(1234).then(function(results){\n  console.log(results[0]); // would print the product information of the first product\n  console.log(results[0].mpid); // would print the mpid of the first product\n});\n```\n\n## Bulk lookup specific set of products\n### Submit a query\n```js\nvar query = {\n  inputFile: fs.createReadStream('test/stubs/bulk-job-input.txt', 'utf8'), // Refer to examples below for format\n  countryCode: 'US'\n}\nixClient.getBulkProductLookupSummary(query).then(function(jobInfo){\n  console.log(jobInfo); // would be like { id: 1234, status: 'SUBMITTED' }\n});\n```\n\nList of all methods, each of which will return different types of product information.\n```js\nixClient.getBulkProductLookupSummary();\nixClient.getBulkProductLookupOffersStandard();\nixClient.getBulkProductLookupOffersPremium();\nixClient.getBulkProductLookupCatalogStandard();\nixClient.getBulkProductLookupCatalogPremium();\nixClient.getBulkProductLookupUniversal();\n```\n\n### Input File Formats\n#### MPN with Brand ID\n```\n{ \"mpn\": \"1281HTWR\", \"brandId\": 28860 }\n{ \"mpn\": \"5121412LMR\", \"brandId\": 6553 }\n{ \"mpn\": \"S-19141SIL\", \"brandId\": 2579 }\n{ \"mpn\": \"2000157819\", \"brandId\": 48162 }\n```\n\n#### SKU with Store ID\n```\n{ \"sku\": \"228-10245\", \"storeId\": 311 }\n{ \"sku\": \"228-10255\", \"storeId\": 311 }\n{ \"sku\": \"29G-00752\", \"storeId\": 311 }\n{ \"sku\": \"29G-00754\", \"storeId\": 311 }\n{ \"sku\": \"29G-01030\", \"storeId\": 311 }\n```\n\n### UPC\n```\n{ \"upc\": 80196294216 }\n{ \"upc\": 92325000018 }\n{ \"upc\": 844660084877 }\n{ \"upc\": 14389642713 }\n{ \"upc\": 14389642720 }\n```\n\n### Polling for job and downloading products\nThis is exactly the same as mentioned in the `Bulk search for products` section. Please refer to that above.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findix%2Findix-api-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findix%2Findix-api-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findix%2Findix-api-nodejs/lists"}