{"_id":"@automate-hub/adspower-api","_rev":"3-03130900a7697fb8deec5adfb636616a","name":"@automate-hub/adspower-api","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@automate-hub/adspower-api","version":"1.0.0","keywords":["adspower","browser-automation","puppeteer","selenium","fingerprint","antidetect","proxy"],"author":{"name":"namvippro"},"license":"MIT","_id":"@automate-hub/adspower-api@1.0.0","maintainers":[{"name":"masterpk","email":"huanthuyon671@gmail.com"}],"dist":{"shasum":"9902619abf8a30f9a4e9ee8ab0e005534d8357e1","tarball":"https://registry.npmjs.org/@automate-hub/adspower-api/-/adspower-api-1.0.0.tgz","fileCount":14,"integrity":"sha512-ifMM0w/1raaJRsX0HyJvd7d4Hakf4h02vEWL0s4WySG/0lErDT3fmLExJVSF3iAVffYEtDPFU37wTTzjpmYbqw==","signatures":[{"sig":"MEYCIQDJcxouk3Hu1agJLby/ESgnbF/h2uqH4yXhb3VOUIOfGAIhALh/zwOPycFU6ttcUgfwLSQWCbsrLJ/rT6R1MOuVja7E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45273},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"masterpk","email":"huanthuyon671@gmail.com"},"_npmVersion":"10.8.2","description":"Node.js SDK for AdsPower Local API - Browser automation, profile management, proxy configuration","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/adspower-api_1.0.0_1767699728923_0.9195124023892225","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@automate-hub/adspower-api","version":"1.0.1","keywords":["adspower","browser-automation","puppeteer","selenium","fingerprint","antidetect","proxy","deprecated"],"author":{"name":"namvippro"},"license":"MIT","_id":"@automate-hub/adspower-api@1.0.1","maintainers":[{"name":"masterpk","email":"huanthuyon671@gmail.com"}],"dist":{"shasum":"5615a7459926ff8f6fd2799b1c104b08676dab96","tarball":"https://registry.npmjs.org/@automate-hub/adspower-api/-/adspower-api-1.0.1.tgz","fileCount":14,"integrity":"sha512-0DS8ElmXOd7jZ1mcJXDH1heU/HV4CwfITV8s4RUoM82gxjWHWFHtbEJqqLKogOYr0bzSNj78eOhUY9Wnll/Ypw==","signatures":[{"sig":"MEQCIDZx48bDczUQmfeuVuF+hbEKlU+FDQ+gboAc+EvcBsGyAiA3K5CC4tWI2yuQEq06SbOhmpgm9vqUBFCJjskPBp7brA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42206},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{},"_npmUser":{"name":"masterpk","email":"huanthuyon671@gmail.com"},"deprecated":"This package is deprecated. Please use @aitofy/browser-profiles instead: npm install @aitofy/browser-profiles","_npmVersion":"10.8.2","description":"DEPRECATED - Use @aitofy/browser-profiles instead. Self-hosted anti-detect browser profiles.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/adspower-api_1.0.1_1767857024845_0.8482179697930059","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@automate-hub/adspower-api","version":"1.0.2","description":"Node.js SDK for AdsPower Local API - Browser automation, profile management, proxy configuration","main":"dist/index.js","types":"dist/index.d.ts","scripts":{},"keywords":["adspower","browser-automation","puppeteer","selenium","fingerprint","antidetect","proxy"],"author":{"name":"aitofy"},"license":"MIT","devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0"},"_id":"@automate-hub/adspower-api@1.0.2","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-8rflOY2q7pHUDIJzVD3ObUdiwqCUuXHbuXMnhApAm9ZNj/QmD32+GDs8EeCnMJ8E9lVN3LMekT7jwIbHDxGb1g==","shasum":"5707f48b3f1e22e7a34c0770762f66684aba6f48","tarball":"https://registry.npmjs.org/@automate-hub/adspower-api/-/adspower-api-1.0.2.tgz","fileCount":14,"unpackedSize":45658,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDSIT2PwfxWM6cNOR7sqpf+0LwnU3Nr4cR669YDLZ5oRAiEAtrw/UIUWxMG0pQy1asTL9QsJZKFi+nAxgNppgPiOCGU="}]},"_npmUser":{"name":"masterpk","email":"huanthuyon671@gmail.com"},"directories":{},"maintainers":[{"name":"masterpk","email":"huanthuyon671@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adspower-api_1.0.2_1767857083873_0.2606806215449158"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-06T11:42:08.840Z","modified":"2026-01-08T07:24:44.503Z","1.0.0":"2026-01-06T11:42:09.073Z","1.0.1":"2026-01-08T07:23:44.985Z","1.0.2":"2026-01-08T07:24:44.012Z"},"author":{"name":"aitofy"},"license":"MIT","keywords":["adspower","browser-automation","puppeteer","selenium","fingerprint","antidetect","proxy"],"description":"Node.js SDK for AdsPower Local API - Browser automation, profile management, proxy configuration","maintainers":[{"name":"masterpk","email":"huanthuyon671@gmail.com"}],"readme":"# AdsPower API SDK\n\nA TypeScript/JavaScript SDK for interacting with [AdsPower Local API](https://localapi-doc-en.adspower.com/).\n\n## 🆕 See Also\n\nLooking for a **self-hosted, open-source** alternative? Check out [@aitofy/browser-profiles](https://www.npmjs.com/package/@aitofy/browser-profiles) - anti-detect browser profiles without needing AdsPower software.\n\n```bash\nnpm install @aitofy/browser-profiles\n```\n\n---\n\n## Features\n\n- 🚀 **Full TypeScript support** with complete type definitions\n- 🌐 **Browser automation** - Open, close, and monitor browser profiles\n- 👤 **Profile management** - Create, update, delete, and query profiles\n- 🔐 **Proxy support** - Add, update, and manage proxies\n- 📁 **Group management** - Organize profiles into groups\n- 🔌 **Extension support** - Query extension categories\n\n## Installation\n\n```bash\nnpm install @automate-hub/adspower-api\n```\n\n## Quick Start\n\n```typescript\nimport { AdsPowerClient } from '@automate-hub/adspower-api';\n\n// Initialize the client\nconst client = new AdsPowerClient({\n  baseUrl: 'http://local.adspower.net:50325', // default\n  apiKey: 'your-api-key' // optional, required if security verification is enabled\n});\n\n// Check connection\nconst isConnected = await client.checkStatus();\nconsole.log('Connected:', isConnected);\n```\n\n## Browser Automation\n\n### Open a browser profile\n\n```typescript\nconst result = await client.browser.open({\n  user_id: 'profile-id',\n  open_tabs: ['https://google.com'], // optional: open with specific URLs\n  headless: false // optional: run in headless mode\n});\n\nconsole.log('Puppeteer WS:', result.data.ws.puppeteer);\nconsole.log('Selenium:', result.data.ws.selenium);\nconsole.log('WebDriver:', result.data.webdriver);\n```\n\n### Use with Puppeteer\n\n```typescript\nimport puppeteer from 'puppeteer-core';\nimport { AdsPowerClient } from '@automate-hub/adspower-api';\n\nconst client = new AdsPowerClient();\n\n// Open browser and get WebSocket endpoint\nconst { data } = await client.browser.open({ user_id: 'your-profile-id' });\n\n// Connect Puppeteer\nconst browser = await puppeteer.connect({\n  browserWSEndpoint: data.ws.puppeteer\n});\n\nconst page = await browser.newPage();\nawait page.goto('https://example.com');\n\n// ... do automation\n\n// Close when done\nawait client.browser.close({ user_id: 'your-profile-id' });\n```\n\n### Check browser status\n\n```typescript\nconst status = await client.browser.status({ user_id: 'profile-id' });\nconsole.log('Browser is:', status.data.status); // 'Active' or 'Inactive'\n```\n\n### Get all active browsers\n\n```typescript\nconst activeBrowsers = await client.browser.localActive();\nconsole.log('Active browsers:', activeBrowsers.data);\n```\n\n## Profile Management\n\n### Create a profile\n\n```typescript\nconst result = await client.profile.create({\n  name: 'My Profile',\n  group_id: '0', // default group\n  domain_name: 'facebook.com',\n  username: 'myusername',\n  user_proxy_config: {\n    proxy_type: 'socks5',\n    proxy_host: '127.0.0.1',\n    proxy_port: '1080'\n  }\n});\n\nconsole.log('Created profile ID:', result.data.id);\n```\n\n### Query profiles\n\n```typescript\n// List profiles with pagination\nconst profiles = await client.profile.list({\n  page: 1,\n  page_size: 50,\n  group_id: '0' // optional: filter by group\n});\n\nconsole.log('Profiles:', profiles.data.list);\n\n// Get all profiles (auto-pagination)\nconst allProfiles = await client.profile.getAll();\nconsole.log('Total profiles:', allProfiles.length);\n\n// Get single profile\nconst profile = await client.profile.get('profile-id');\n```\n\n### Delete profiles\n\n```typescript\nawait client.profile.delete({\n  user_ids: ['profile-id-1', 'profile-id-2']\n});\n```\n\n## Group Management\n\n### Create a group\n\n```typescript\nconst group = await client.group.create({\n  group_name: 'My Group',\n  remark: 'Optional note'\n});\n\nconsole.log('Group ID:', group.data.group_id);\n```\n\n### List groups\n\n```typescript\nconst groups = await client.group.list({\n  page: 1,\n  page_size: 50\n});\n\nconsole.log('Groups:', groups.data.list);\n```\n\n## Proxy Management\n\n### Add proxies\n\n```typescript\n// Add single proxy\nawait client.proxy.create({\n  name: 'My Proxy',\n  proxy_type: 'socks5',\n  proxy_host: '127.0.0.1',\n  proxy_port: '1080',\n  proxy_user: 'username',\n  proxy_password: 'password'\n});\n\n// Add multiple proxies\nawait client.proxy.create([\n  { proxy_type: 'http', proxy_host: 'proxy1.com', proxy_port: '8080' },\n  { proxy_type: 'socks5', proxy_host: 'proxy2.com', proxy_port: '1080' }\n]);\n```\n\n### List proxies\n\n```typescript\nconst proxies = await client.proxy.list({\n  page: 1,\n  page_size: 50\n});\n\nconsole.log('Proxies:', proxies.data.list);\n```\n\n## Error Handling\n\n```typescript\nimport { AdsPowerClient, AdsPowerError } from '@automate-hub/adspower-api';\n\nconst client = new AdsPowerClient();\n\ntry {\n  await client.browser.open({ user_id: 'invalid-id' });\n} catch (error) {\n  if (error instanceof AdsPowerError) {\n    console.error('API Error:', error.message);\n    console.error('Error Code:', error.code);\n  }\n}\n```\n\n## API Reference\n\n### AdsPowerClient\n\n| Method | Description |\n|--------|-------------|\n| `checkStatus()` | Check API connection status |\n\n### client.browser\n\n| Method | Description |\n|--------|-------------|\n| `open(params)` | Open a browser profile |\n| `close(params)` | Close a browser profile |\n| `status(params)` | Check browser status |\n| `localActive()` | Get all active browsers |\n\n### client.profile\n\n| Method | Description |\n|--------|-------------|\n| `create(params)` | Create a new profile |\n| `update(params)` | Update a profile |\n| `list(params)` | Query profiles |\n| `delete(params)` | Delete profiles |\n| `get(userId)` | Get single profile |\n| `getAll()` | Get all profiles |\n\n### client.group\n\n| Method | Description |\n|--------|-------------|\n| `create(params)` | Create a new group |\n| `update(params)` | Update a group |\n| `list(params)` | Query groups |\n\n### client.proxy\n\n| Method | Description |\n|--------|-------------|\n| `create(params)` | Add proxies |\n| `update(proxyId, params)` | Update a proxy |\n| `delete(proxyIds)` | Delete proxies |\n| `list(params)` | Query proxies |\n\n### client.extension\n\n| Method | Description |\n|--------|-------------|\n| `categories(params)` | Get extension categories |\n\n## Related Packages\n\n- [@aitofy/browser-profiles](https://www.npmjs.com/package/@aitofy/browser-profiles) - Self-hosted anti-detect browser profiles (no AdsPower needed)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}