{"_id":"@boruto_vk7/insta-fetcher","_rev":"11-c061ab1b865cf270d18149b86c1ace68","name":"@boruto_vk7/insta-fetcher","dist-tags":{"latest":"0.2.3"},"versions":{"0.0.1":{"name":"@boruto_vk7/insta-fetcher","version":"0.0.1","keywords":["instagram-scraper","instagram-downloader","instagram-saver","insta-scraper","instagram","ig-scraper","ig-api","instagram-private-api","instagram-api","instagram-scraping"],"author":{"url":"https://okarun-api.com.br","name":"Eduh dev","email":"suport@okarun-api.com"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.0.1","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"23765a7d68192a5c978846c936b4aae980de97b5","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.0.1.tgz","fileCount":46,"integrity":"sha512-ye07iM46kJPOd9OwfbbR3ZdDNXRXySeqoovS3WqfE2qMClsMnBf7FUSm8BfxNvVEVRwBpqzDL4nBJrG+n94VsQ==","signatures":[{"sig":"MEQCIGbQmz3WYxgBTGLjH5n8kcTZQ/0WLucXvayflk9e2z7iAiAV7ABK8VBV4dzwkMEi5O9JPdIPQ9XLmnuIf6q01bgLfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114904},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"11.17.0","description":"Simplified Instagram metadata scraping - Login 2026","directories":{},"_nodeVersion":"24.15.0","dependencies":{"axios":"^1.13.6","blakejs":"^1.2.1","form-data":"^4.0.0","tweetnacl":"^1.0.3","big-integer":"^1.6.51"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.25.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.0.1_1781652515901_0.7093616783361465","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@boruto_vk7/insta-fetcher","version":"0.1.0","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.1.0","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"aef70f509ba8d628bd9fab75c9b707b2ee6e1ec7","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.1.0.tgz","fileCount":52,"integrity":"sha512-TWzkDVpf/agDbItCSZBHxNngT02AnYLMmuS75T4mMNJF7K8lci5omc2o+JwsM5kR816qjo2KJi3scJpuA8A9YA==","signatures":[{"sig":"MEYCIQCFNUu1hEOVuB09oko0i71zEhunjgS/2TiAkEGiiDgG0wIhALteybUX0t7cboHddlTpf48Ac/I+tRdAo53FDhV5kdA0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185255},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && printf '{\"type\":\"commonjs\"}\n' > dist/cjs/package.json","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.9.2","description":"Cliente TypeScript para metadados do Instagram autenticado exclusivamente por cookie.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"axios":"^1.13.6","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.1.0_1788435425806_0.69845749370123","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@boruto_vk7/insta-fetcher","version":"0.1.1","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.1.1","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"fc3a916440475750399ac31a67281ad5351705db","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.1.1.tgz","fileCount":52,"integrity":"sha512-LtCPSH5PjbdFfOfVf+0NRoLwSGEULKH5E3FP169op1YAkZmows+sDInhXp1qOR6UuUB/rorZtbYdYYVlzbXbeg==","signatures":[{"sig":"MEUCIHJqXlo8ToYKCw/MPuXE4aCy1dNHI1jbqmjWU/2kAeccAiEAqNtbEesSVp4nWiygp0uX+UBdQmXVqvOlykedWgcCga0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187465},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && printf '{\"type\":\"commonjs\"}\n' > dist/cjs/package.json","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.9.2","description":"Cliente TypeScript para metadados do Instagram autenticado exclusivamente por cookie.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"axios":"^1.13.6","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.1.1_1788437106073_0.09663653171977282","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@boruto_vk7/insta-fetcher","version":"0.1.2","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.1.2","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"13809972635c1cef4a8edaef44b7cdbb1667c54f","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.1.2.tgz","fileCount":52,"integrity":"sha512-rvs9zawIXP4emSLAdcdddAxmhnl/zbzwqAl0U7/RUZkquti8ra/DeX+UbwUYsdxiZ/ZGDIuiwymtnBI/PH0X5w==","signatures":[{"sig":"MEQCIANJh8kljJ3i8IOZUh5nAZj3OUk5A3ZXaSgVgC+XsF79AiBJMq4lyCCK8yzp2On0sMugUsyYH4vj26VrypRNANYZWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194419},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && printf '{\"type\":\"commonjs\"}\n' > dist/cjs/package.json","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.9.2","description":"Cliente TypeScript para metadados do Instagram autenticado exclusivamente por cookie.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"axios":"^1.13.6","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.1.2_1788437642974_0.920469293906413","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@boruto_vk7/insta-fetcher","version":"0.1.3","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.1.3","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"69253aa32bfbf63e5d1b1e9ce94c7302eeba68f4","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.1.3.tgz","fileCount":52,"integrity":"sha512-OM4aTW6CSzC+8lEqIDVaafVBcwCHl4M/bxM3A38/huj2PZiTqLhKCUgulZ9eDFbED3kt3BbgMG2gHAlU/Fo1lQ==","signatures":[{"sig":"MEQCIAd1zhi4uj/ZVnHMk1kH+z/eNBy3ysx3jqAJm3BF16RDAiB8SRMraJ4QeAxF8YSDhvam13MKuH7bMMA4VKFiJABt6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196303},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && printf '{\"type\":\"commonjs\"}\n' > dist/cjs/package.json","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.9.2","description":"Cliente TypeScript para metadados do Instagram autenticado exclusivamente por cookie.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"axios":"^1.13.6","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.1.3_1788437861528_0.7344539094639775","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@boruto_vk7/insta-fetcher","version":"0.1.4","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.1.4","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"fe1b190cba722c90421a0a2495baae6feb4d73f7","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.1.4.tgz","fileCount":52,"integrity":"sha512-SQJGgbfME+Uf3jgOPJ66t02YeUcbp5FLCoRDet36F5kg1n6UtBiX+pDyU9l7+BKdt/FcU1aZ8BGQ9gPxaojJww==","signatures":[{"sig":"MEUCIQCg8VuK119IyL5YlHWX+SD8HZ3ZZCQIkJrya8At5PnUgAIgKlfSrxeXcm4L4/vlm7lr7gz/iMdjnRUiyO7O6uvIzjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198487},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && printf '{\"type\":\"commonjs\"}\n' > dist/cjs/package.json","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.9.2","description":"Cliente TypeScript para metadados do Instagram autenticado exclusivamente por cookie.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"axios":"^1.13.6","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.1.4_1788438093962_0.49205072320506194","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@boruto_vk7/insta-fetcher","version":"0.1.5","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.1.5","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"138cc665e9b733c49ee040c7dac1647e745b5b37","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.1.5.tgz","fileCount":52,"integrity":"sha512-aBV5knIxtq+SO7IhLon5hc0L00SIt1DZPtqPgdBGdaEwIV/zftEzcLF2kY3I/xYbOsQkXDcaW/iyzAoefODMbw==","signatures":[{"sig":"MEYCIQD90PSC8/HWBX1jm5ed3DIluN1iZ4/FC7V29jXJ9U2P3gIhAPZPv9eLaO37qZLRJ4/nRqdmGJ1x1Ct/F9bQDMm+dMM4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201665},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && printf '{\"type\":\"commonjs\"}\n' > dist/cjs/package.json","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.9.2","description":"Cliente TypeScript para metadados do Instagram autenticado exclusivamente por cookie.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"axios":"^1.13.6","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.1.5_1788438396332_0.6451618528327696","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@boruto_vk7/insta-fetcher","version":"0.2.0","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.2.0","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"d82b4dc774b6325d9ea0ec608d297e7b57a88487","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.2.0.tgz","fileCount":46,"integrity":"sha512-xFyJv0Q9wz6q9EvavbpOfb654M/sjTLCgLndOWeWEIRI4UZtEEO0yvggeAvM1ykku4NM7aLcfYz+sVPtFm+E0g==","signatures":[{"sig":"MEUCIQCqyfEf3JH9JPbCehQ9/XPmORrsOeo00UPW8k701UzkMwIgaMf3kNSZv8Wqvy+nS1FOb3Tp394GPYAXtda7qLqlLJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348961},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && node -e \"require('node:fs').mkdirSync('dist/cjs',{recursive:true}); require('node:fs').writeFileSync('dist/cjs/package.json', '{\\\"type\\\":\\\"commonjs\\\"}\\n')\"","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.8.2","description":"Cliente TypeScript para metadados do Instagram autenticado por cookie — versão corrigida para parecer um usuário de navegador real.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.7.7","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.2.0_1788440016792_0.6884611423123825","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@boruto_vk7/insta-fetcher","version":"0.2.1","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.2.1","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"81054010b5d878223e51c9ca9843e9a8a2cbffd4","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.2.1.tgz","fileCount":46,"integrity":"sha512-9e05fWcUHuC9zG8diyilNv5lXzYqo4ZQPupQBQMPA5pi0n4JCsD7CHp5fXxbDcY5K8V6L97G1Xn+4EjVmf0jiw==","signatures":[{"sig":"MEQCIFtKMkMLKCkaCxOgi1Fm0ZxrrllGEUlrRC03A3TwLVxeAiBVDnFlcQ1C9u21O343z6HERT465HMWU0YWUM4J78vYVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355919},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && node -e \"require('node:fs').mkdirSync('dist/cjs',{recursive:true}); require('node:fs').writeFileSync('dist/cjs/package.json', '{\\\"type\\\":\\\"commonjs\\\"}\\n')\"","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.8.2","description":"Cliente TypeScript para metadados do Instagram autenticado por cookie — versão corrigida para parecer um usuário de navegador real.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.7.7","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.2.1_1788442257065_0.5833631187072135","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@boruto_vk7/insta-fetcher","version":"0.2.2","author":{"name":"Eduh dev"},"license":"MIT","_id":"@boruto_vk7/insta-fetcher@0.2.2","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"homepage":"https://github.com/borutovk7/insta-fetcher#readme","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"dist":{"shasum":"7cca940f1c7b41078d76989c6f49c7fec6de7c15","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.2.2.tgz","fileCount":46,"integrity":"sha512-CynrCHsLupw3qMTMs/uyGoWn+RGl0n5o2all37y1dPBaykyiRq29TXMu5nXtnz998xgqzHGkB72WCrSCc3XdIg==","signatures":[{"sig":"MEQCIGZ+bStuG6Bc8nDJUs63+07PlRf9zAOuOIPgxrnGvN1wAiAcX0vQZGSZRA3lEew3HIY3U0DXj4oyS/bFZA1A3duPJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364974},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json"},"scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && node -e \"require('node:fs').mkdirSync('dist/cjs',{recursive:true}); require('node:fs').writeFileSync('dist/cjs/package.json', '{\\\"type\\\":\\\"commonjs\\\"}\\n')\"","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","pack:check":"npm run build && npm pack --dry-run"},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"repository":{"url":"git+https://github.com/borutovk7/insta-fetcher.git","type":"git"},"_npmVersion":"10.8.2","description":"Cliente TypeScript para metadados do Instagram autenticado por cookie — versão corrigida para parecer um usuário de navegador real.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.7.7","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^20.0.0","@types/form-data":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/insta-fetcher_0.2.2_1788442889593_0.41246752795223296","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@boruto_vk7/insta-fetcher","version":"0.2.3","description":"Cliente TypeScript para metadados do Instagram autenticado por cookie — versão corrigida para parecer um usuário de navegador real.","type":"module","license":"MIT","author":{"name":"Eduh dev"},"repository":{"type":"git","url":"git+https://github.com/borutovk7/insta-fetcher.git"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js","default":"./dist/esm/index.js"},"./package.json":"./package.json"},"engines":{"node":">=18"},"scripts":{"clean":"rm -rf dist","build":"npm run clean && npm run build:esm && npm run build:cjs && node -e \"require('node:fs').mkdirSync('dist/cjs',{recursive:true}); require('node:fs').writeFileSync('dist/cjs/package.json', '{\\\"type\\\":\\\"commonjs\\\"}\\n')\"","build:esm":"tsc -p tsconfig.esm.json","build:cjs":"tsc -p tsconfig.cjs.json","typecheck":"tsc -p tsconfig.esm.json --noEmit","test":"npm run build && node --test test/*.test.mjs","pack:check":"npm run build && npm pack --dry-run"},"dependencies":{"axios":"^1.7.7","form-data":"^4.0.0"},"devDependencies":{"@types/form-data":"^2.5.2","@types/node":"^20.0.0","typescript":"^5.7.0"},"_id":"@boruto_vk7/insta-fetcher@0.2.3","bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"homepage":"https://github.com/borutovk7/insta-fetcher#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-u+r51r9IY8sRF1AhBKD2q4cXC1GQZgTeILRaZe8ZIlRqhfSFLmLUzzJWcAKvi+684wf11UiIVDU9XoKA/KzQQw==","shasum":"46e84fd8d57dfcecdfd4a79990ebe4f52222995a","tarball":"https://registry.npmjs.org/@boruto_vk7/insta-fetcher/-/insta-fetcher-0.2.3.tgz","fileCount":46,"unpackedSize":394203,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIANHhKwcPbEjepajNq6nz9+l4UjFj1ptdcnxoEzOcYkzAiAdEkjFrJxIVEkzi+Bsw/9wL0TcnL/JZTP4FHktwUnPaA=="}]},"_npmUser":{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"},"directories":{},"maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/insta-fetcher_0.2.3_1788443532656_0.768222431444185"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T23:28:35.743Z","modified":"2026-09-03T13:52:13.147Z","0.0.1":"2026-06-16T23:28:36.032Z","0.1.0":"2026-09-03T11:37:05.941Z","0.1.1":"2026-09-03T12:05:06.235Z","0.1.2":"2026-09-03T12:14:03.123Z","0.1.3":"2026-09-03T12:17:41.693Z","0.1.4":"2026-09-03T12:21:34.102Z","0.1.5":"2026-09-03T12:26:36.467Z","0.2.0":"2026-09-03T12:53:36.925Z","0.2.1":"2026-09-03T13:30:57.224Z","0.2.2":"2026-09-03T13:41:29.730Z","0.2.3":"2026-09-03T13:52:12.840Z"},"bugs":{"url":"https://github.com/borutovk7/insta-fetcher/issues"},"author":{"name":"Eduh dev"},"license":"MIT","homepage":"https://github.com/borutovk7/insta-fetcher#readme","repository":{"type":"git","url":"git+https://github.com/borutovk7/insta-fetcher.git"},"description":"Cliente TypeScript para metadados do Instagram autenticado por cookie — versão corrigida para parecer um usuário de navegador real.","maintainers":[{"name":"eduh_dev021","email":"kentakakura021028@gmail.com"}],"readme":"# @boruto_vk7/insta-fetcher — versão \"navegador\" (0.2.0)\n\n> Fork corrigido do pacote original, com foco em **parecer um usuário real no\n> navegador** (anti-bloqueio/anti-fingerprint) — não apenas em \"funcionar\".\n\nCliente TypeScript para consultar metadados do Instagram usando\n**exclusivamente um cookie de sessão já existente**. Esta versão não recebe\nusuário, senha, `getCookie()` de login ou qualquer credencial: o cookie deve ser\nobtido pelo próprio usuário (DevTools → Application → Cookies) e armazenado de\nforma segura.\n\n---\n\n## O que foi corrigido para parecer navegador\n\nO pacote publicado (0.1.x) misturava sinais contraditórios que entregam \"sou um\nbot de Node\":\n\n| Problema no original | Correção nesta versão |\n| --- | --- |\n| User-Agent de **app móvel** (iPhone/Android) em endpoints do **frontend web** (`/graphql/query`, `/web/search/...`) | Tudo em `www.instagram.com` usa um **Chrome/Windows atual e coerente** (UA + `Sec-CH-UA` + `Sec-CH-UA-Platform` + `Sec-CH-UA-Mobile` que batem entre si) |\n| Chrome 125 de 2024 (UA e CH-UA não acompanhavam o `sec-ch-ua`) | Chrome 152 (stable de set/2026), tripla de Client Hints consistente |\n| `authority`, `origin` e `x-requested-with` em **toda** requisição | Headers **por tipo de requisição**: GET XHR sem `Origin` (navegador só manda em POST/CORS), navegação HTML com `Sec-Fetch-Dest: document`, upload com app-id próprio |\n| Sem `Sec-Fetch-*` nem `Sec-CH-UA-*` (impressão digital clássica de bot/axios) | `Sec-Fetch-Site/Mode/Dest` coerentes (`same-origin`/`cors`/`empty`) + `Priority: u=1, i` |\n| `Accept-Language: pt-BR...` fixo, sem relação com a sessão | `Accept-Language` derivado do `locale` (configurável) |\n| Sem `X-ASBD-ID`/`X-Web-Session-ID` (o frontend envia nos XHR do www) | Enviados nos XHR web (`129477` + id de sessão aleatório por instância) |\n| Sem `Sec-CH-UA-*` | Tríade de Client Hints incluída |\n| Referer sempre `https://www.instagram.com/` | Referer **contextual**: página do perfil, da story, do highlight, do post, de `/reels/`... como quem clica |\n| Cookie `sessionid=abc%3Adef` era **URL-decodificado** antes de enviar | Valores enviados **verbatim**, como o navegador faz — decodificar altera o fio e pode invalidar a sessão |\n| Ritmo de robô (chamadas em rajada) | **Pacing** opcional entre chamadas encadeadas (`off`/`light`/`human` ou intervalo custom) |\n| Headers de app (i.instagram.com) usados contra sessão web e vice-versa sem critério | **Dois perfis coerentes**: `web` (Chrome/Windows × www) e `android`/`iphone` (app × i.instagram.com), nunca misturados na mesma chamada |\n| Upload/publicação com data em UTC | Data/hora **local** (`timezone_offset` em segundos), como o app do usuário |\n\n### URLs auditadas ao vivo (0.2.2)\n\nAuditoria método-a-método contra o Instagram real (sessão autenticada). As\nrotas corrigidas foram validadas respondendo `200` com dados:\n\n| Método | URL correta (host) | Status ao vivo |\n| --- | --- | --- |\n| `fetchPost` / `fetchPostByMediaId` | `www/api/v1/media/{media_id}/info/` | ✅ |\n| `fetchPostByShortcode` | converte shortcode→media_id e usa `/media/{id}/info/` | ✅ (antes: rota `/media/{shortcode}/info/` dava **400**) |\n| `fetchUserV2` / `getIdByUsername` | `www/api/v1/users/web_profile_info/?username=` → fallback `www/api/v1/web/search/topsearch/` | ✅ própria conta; terceiros limitados por IP (429/checkpoint) |\n| `fetchUserIDPostsV2` | `www/api/v1/feed/user/{id}/` | ✅ |\n| `fetchStories` / `fetchUserIDStories` | `i.instagram.com/api/v1/feed/user/{id}/reel_media/` (app) | ✅ |\n| `fetchHighlights` (tray) | `www/api/v1/highlights/{id}/highlights_tray/` → fallback app | ✅ |\n| `fetchHighlights` (mídia) | **página HTML** `www/stories/highlights/{id}/` (extrai `xdt_api__v1__feed__reels_media__connection`) | ✅ (0.2.3: 210 mídias ao vivo) |\n| `fetchUserReel` (aba Reels) | `www/api/v1/clips/user/` → fallback doc_id → fallback feed filtrando clips | ✅ (0.2.3) |\n| `getReelData` | página `www/reel/{code}/` (navegação HTML) | ⚠️ login wall/recaptcha por IP |\n| `searchFollower/Following` | `www/api/v1/friendships/{id}/followers\\|following/` | ✅ rota responde |\n\nNotas do mundo real (não são bugs do pacote):\n- `/api/v1/users/{username}/usernameinfo/` (www e app) está **descontinuada**\n  (volta 200 com corpo vazio/erro) — por isso o módulo **não** a usa.\n- `/users/{id}/info/` só traz corpo completo para a **própria** conta; para\n  terceiros volta vazio (o módulo segue com `web_profile_info`/`topsearch`).\n- Ids de highlight vêm como `highlight:12345…` — o módulo remove o prefixo\n  antes de pedir a mídia.\n- `web_profile_info` de terceiros, HTML de perfil e `reels_media` podem cair em\n  **429/checkpoint/recaptcha dependendo do IP e do volume** — são limitações de\n  ambiente, não de headers. Use com calma (`pacing`) e em IP residencial limpo.\n\n### O que mudou em 0.2.3 (pós-captcha)\n\n- **Mídia de highlights**: o Instagram hoje carrega a mídia na **página HTML**\n  `/stories/highlights/{id}/` (JSON `xdt_api__v1__feed__reels_media__connection`\n  com os itens completos). O pacote extrai esse JSON com parse balanceado —\n  antes a rota `/feed/reels_media/` voltava vazia para highlights e o resultado\n  era `highlights: []`. Validado ao vivo: **7 destaques / 210 mídias** com covers.\n- **Cover dos destaques**: lê `cover_media.cropped_image_version` /\n  `full_image_version` (shape real do tray).\n- **Aba Reels (`fetchUserReel`)**: agora tenta `clips/user` (XDT do frontend) →\n  doc_id GraphQL (legado) → fallback filtrando os clips do feed — nunca mais\n  devolve vazio por causa de um doc_id desatualizado (403). Validado ao vivo.\n- **Perfil de terceiro**: com a sessão limpa, `/users/{id}/info/` volta a\n  responder com corpo completo — `fetchUser` entrega bio + contagens + foto.\n\n### Stories corrigidos (0.2.1)\n\n- **Bug**: o endpoint \"web\" `/api/v1/feed/reels_media/` vinha retornando\n  `reels_media: []` **mesmo quando o perfil tinha story ativo** (rota morta para\n  consulta por usuário).\n- **Fix**: `fetchStories` usa o endpoint que o app realmente preenche —\n  `i.instagram.com/api/v1/feed/user/{id}/reel_media/` — com impressão digital de\n  app Android coerente. Funciona para qualquer perfil público (seguido ou não).\n- Novo método **`fetchUserIDStories(userId)`** para quando a resolução de\n  username estiver limitada na sessão mas o ID já for conhecido.\n- Highlights (`fetchHighlights`) agora tentam web **e** caem para o app\n  automaticamente (tray e mídia) se a rota web vier vazia.\n\n### Além do fingerprint\n\n- Perfil agora usa **`web_profile_info`** (`/api/v1/users/web_profile_info/?username=…`),\n  o endpoint que o frontend React chama de verdade (antes: `usernameinfo` de app).\n- Stories e highlights usam os fluxos do navegador: `/api/v1/feed/reels_media/` e\n  `/api/v1/highlights/{id}/highlights_tray/`.\n- **Fallback automático**: se uma rota `/api/v1/…` do www responder 404/405 (rota\n  removida pelo Instagram), a mesma chamada é repetida em `i.instagram.com`\n  **trocando a impressão digital para Android** — nunca mistura os dois perfis.\n- Captura de reel pela **página HTML** (`/reel/{code}/`) mais robusta.\n- Retries com backoff com jitter e respeito ao `Retry-After` do 429; 401/403\n  não são re-tentados e geram mensagens claras (cookie expirado / checkpoint).\n\n---\n\n## Instalação\n\nVia arquivo local (pasta ou tarball desta versão corrigida):\n\n```bash\nnpm install /caminho/para/insta-fetcher-fixed\n# ou, mantendo o mesmo nome de pacote nos imports:\nnpm install \"@boruto_vk7/insta-fetcher@file:/caminho/para/insta-fetcher-fixed.tgz\"\n```\n\n## Uso\n\n```ts\nimport { InstagramEngine } from '@boruto_vk7/insta-fetcher';\n\nconst instagram = new InstagramEngine({\n  cookiesFile: './cookies.txt',   // export Netscape ou JSON ou header\n  pacing: 'light',                // 'off' | 'light' | 'human' (+ pacingRange)\n  locale: 'en_US',                // espelha no Accept-Language\n  timeoutMs: 20_000,\n});\n// API pública idêntica à versão 0.1.x:\nconst id      = await instagram.getIdByUsername('instagram');\nconst post    = await instagram.fetchPost('https://www.instagram.com/p/SHORTCODE/');\nconst posts   = await instagram.fetchUserPostsV2('instagram');\nconst reels   = await instagram.fetchUserReel('instagram');\nconst stories = await instagram.fetchStories('instagram');\nconst hl      = await instagram.fetchHighlights('instagram');\nconst account = await instagram.accountInfo();\n```\n\n`IgApi`, `igApi` e `createInstagramClient` continuam como aliases. Helpers de\ncookie e de shortcode também.\n\n### Opções novas\n\n| Opção | Padrão | Descrição |\n| --- | --- | --- |\n| `surface` | `'web'` | `web` (navegador desktop) · `android`/`iphone` (app) |\n| `pacing` | `'light'` | ritmo entre chamadas: `light` (~120–450 ms), `human` (~700–2200 ms), `off` |\n| `pacingRange` | – | intervalo próprio `{ minMs, maxMs }` |\n| `acceptLanguage` | derivado de `locale` | header `Accept-Language` |\n| `locale` | `'en_US'` | usado para derivar o `Accept-Language` |\n| `mobileFallback` | `true` | repete rota www removida no host do app com perfil Android |\n| `appId` / `asbdId` | do frontend | sobrescreve `X-IG-App-ID` / `X-ASBD-ID` |\n| `debug` | `false` | logs de diagnóstico (nunca imprime o cookie) |\n\n---\n\n## Avisos\n\n- O Instagram muda endpoints, headers e respostas sem aviso. Rotas marcadas como\n  *legadas* (ex.: `fetchUserPosts`) podem deixar de existir — prefira as variantes\n  `V2`.\n- Use somente em contas e dados para os quais você tenha autorização. Este pacote\n  **não** contorna CAPTCHA, checkpoint, desafios ou limites — e não deve ser usado\n  para isso.\n- Nunca publique cookies, não os coloque no Git nem em logs.\n\n## Build e testes\n\n```bash\nnpm install\nnpm run typecheck\nnpm run build\nnpm test\n```\n\nOs testes rodam contra um servidor HTTP local e **verificam os headers reais**\n(UA, Client Hints, `Sec-Fetch-*`, ausência de `Origin` em GET, presença em POST,\nreferers, fallback de host) — ou seja, a \"cara de navegador\" fica travada por\ntestes, não só por boas intenções.\n\n## Rotas Express\n\nO exemplo em `examples/instagram.routes.ts` (do upstream) não faz parte do pacote\npublicado; se precisar, o padrão de uso continua o mesmo.\n","readmeFilename":"README.md"}