{"_id":"@exalabs/ai-sdk","_rev":"11-ca9c8fa607de671df66b45b9097e5654","name":"@exalabs/ai-sdk","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.2":{"name":"@exalabs/ai-sdk","version":"1.0.2","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"author":{"name":"Exa"},"license":"MIT","_id":"@exalabs/ai-sdk@1.0.2","maintainers":[{"name":"theishangoswami","email":"ishan@exa.ai"}],"homepage":"https://exa.ai","dist":{"shasum":"1dfa383ffc76f217a788b21bbfc558793d002d6b","tarball":"https://registry.npmjs.org/@exalabs/ai-sdk/-/ai-sdk-1.0.2.tgz","fileCount":6,"integrity":"sha512-oCK9hA+vk0NNSg6dwrIpQ1sd5GvT/6e5jIrGqWmbKcbzf/4VXvQf/UN+3ONF/SYyDyRaMQcnTS+abAPXJTpRnQ==","signatures":[{"sig":"MEUCIQDGzIX4mQq0Lp/J3r0oqxwx9LkotpopIq/i81zp/u/t6QIgPstFkMcA0S2iKLykNnM8AFO+TrKx/d2oIBSbuevkr90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16013},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"15a9b1d35f4f6e46b68ad618510b25c8b1f6be68","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"theishangoswami","email":"ishan@exa.ai"},"_npmVersion":"11.6.2","description":"Exa web search tool for Vercel AI SDK","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"ai":"^5.0.83"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_1.0.2_1762798468506_0.22284718848393736","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@exalabs/ai-sdk","version":"1.0.4","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"author":{"name":"Exa"},"license":"MIT","_id":"@exalabs/ai-sdk@1.0.4","maintainers":[{"name":"theishangoswami","email":"ishan@exa.ai"}],"homepage":"https://exa.ai","bugs":{"url":"https://github.com/exa-labs/exa-ai-sdk/issues"},"dist":{"shasum":"bfb83b1f6c20c732b1cc5b286f44ec73fb07c662","tarball":"https://registry.npmjs.org/@exalabs/ai-sdk/-/ai-sdk-1.0.4.tgz","fileCount":6,"integrity":"sha512-BftMFleSjgGFvCOEmVryqAFHyNq4hvZ38xlb882i2iPXRzt/jHjPUwrcQ3rOoAkCN/iSID/2p7syP1C0+Lmi+A==","signatures":[{"sig":"MEUCIQDroF4bKsI5cXm6KQ+gxtrriPsABKF12hBSNMU5Cv7eGwIgMQuXDi2qBRePjJsd15iovSGMRsfXTU4xcTWZ2XlclYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17126},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"be0cb308801c7a5d424195a5288274c2e770b2a4","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"theishangoswami","email":"ishan@exa.ai"},"repository":{"url":"git+https://github.com/exa-labs/exa-ai-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Exa web search tool for Vercel AI SDK","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"ai":"^5.0.83"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_1.0.4_1762888258042_0.9538107406067697","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@exalabs/ai-sdk","version":"1.0.5","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"author":{"name":"Exa"},"license":"MIT","_id":"@exalabs/ai-sdk@1.0.5","maintainers":[{"name":"theishangoswami","email":"ishan@exa.ai"}],"homepage":"https://exa.ai","bugs":{"url":"https://github.com/exa-labs/exa-ai-sdk/issues"},"dist":{"shasum":"0f0c5be9063f8049922614454f64ae4a177af3a8","tarball":"https://registry.npmjs.org/@exalabs/ai-sdk/-/ai-sdk-1.0.5.tgz","fileCount":6,"integrity":"sha512-+2Sv8+JmrjFrmpiOlE9bzbZeko8ceym7lR3mkopLtnhjZp+EjDOm3rxaouf7nxwG6E6f0y3F2VZfmt0wupq7eA==","signatures":[{"sig":"MEQCIGNDL7YfPR96jsBxquaQ21xfI5zQ59BYhB7Sw1ANe1RuAiAkTSZ9JaWua/LiQVcm7jWeVKbxcOn9+lYokTDm2KNfuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18123},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"6c0df798b92696fbdf7d37ee4ad55d8ce2a0fdd6","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"theishangoswami","email":"ishan@exa.ai"},"repository":{"url":"git+https://github.com/exa-labs/exa-ai-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Exa web search tool for Vercel AI SDK","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"ai":"^5.0.83"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_1.0.5_1764666512731_0.7530598904702768","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@exalabs/ai-sdk","version":"2.0.0","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"author":{"name":"Exa"},"license":"MIT","_id":"@exalabs/ai-sdk@2.0.0","maintainers":[{"name":"theishangoswami","email":"ishan@exa.ai"}],"homepage":"https://exa.ai","bugs":{"url":"https://github.com/exa-labs/exa-ai-sdk/issues"},"dist":{"shasum":"bd16c88555ce0c65cbbd575484ffdcdc0f87001c","tarball":"https://registry.npmjs.org/@exalabs/ai-sdk/-/ai-sdk-2.0.0.tgz","fileCount":6,"integrity":"sha512-883EwfpesP37OBp23AQgFMsFYqDAWMeo0i2Kh+Oaz4q9gTj++XCh+K6pJgGC3yMgf6oz116+6MXkerziIut1kg==","signatures":[{"sig":"MEUCIQDtlOm2ui6uk0NmRrOxYivrWWBsmYYsQfrANYVCGSm04gIgfA79YwmkjUK9yz5fDIxkUsdDRLaC3lxiSSffdNamQgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18309},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"f46b7b0069c3f2b48984b9d48b4e6cd71bc5d997","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"theishangoswami","email":"ishan@exa.ai"},"repository":{"url":"git+https://github.com/exa-labs/exa-ai-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"Exa web search tool for Vercel AI SDK","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_2.0.0_1773761016241_0.9722964954589559","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@exalabs/ai-sdk","version":"2.0.1","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"author":{"name":"Exa"},"license":"MIT","_id":"@exalabs/ai-sdk@2.0.1","maintainers":[{"name":"theishangoswami","email":"ishan@exa.ai"}],"homepage":"https://exa.ai","bugs":{"url":"https://github.com/exa-labs/exa-ai-sdk/issues"},"dist":{"shasum":"e620fe8c55a7eb23db1ff8844c783daace74bca4","tarball":"https://registry.npmjs.org/@exalabs/ai-sdk/-/ai-sdk-2.0.1.tgz","fileCount":6,"integrity":"sha512-qrZGJbrrk3MwEFYhhzzJgQarWnica3dBkt86Ex8S8vak2rYNC2EI1hSwVEBmQQeNtLd8tx1J8xSKwQ/5mya6cA==","signatures":[{"sig":"MEQCIC61NYTCEQZ7u5tYTOEwt38pmqck+9yCG4v3QAWbok78AiBKQDshZs5Nzqh9mccrBPrsyNXGz60HbSnyXQM/P9578g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26357},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"022cf6274f52506294e3c46119c58d3be4e6b73d","scripts":{"build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"theishangoswami","email":"ishan@exa.ai"},"repository":{"url":"git+https://github.com/exa-labs/exa-ai-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"Exa web search tool for Vercel AI SDK","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.22.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_2.0.1_1774201914675_0.5481155092712444","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@exalabs/ai-sdk","version":"2.1.0","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"author":{"name":"Exa"},"license":"MIT","_id":"@exalabs/ai-sdk@2.1.0","maintainers":[{"name":"theishangoswami","email":"ishan@exa.ai"},{"name":"10ishq","email":"tanishq.jaiswal97@gmail.com"},{"name":"kesku","email":"gogeta1183@gmail.com"},{"name":"ian-exa","email":"ian@exa.ai"}],"homepage":"https://exa.ai","bugs":{"url":"https://github.com/exa-labs/ai-sdk/issues"},"dist":{"shasum":"5e058183cbc69ee74709e5275314abc986b0affd","tarball":"https://registry.npmjs.org/@exalabs/ai-sdk/-/ai-sdk-2.1.0.tgz","fileCount":11,"integrity":"sha512-Uf+j/ieZ8mPPIxELcBpeS8dbYt58pWBcwic3mdbZK1+f96daDX8zNAauHmfZLWo7ZcHpdofiXKPfmc56m5isGg==","signatures":[{"sig":"MEUCIQCVvWrhzvR8RzEs15+me3QRegbQiH5FYxi3UUGozM2ypwIgW6m36sZljwemBQAdTzJclA0qP+VD7cjCPGaFiCjrVLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@exalabs%2fai-sdk@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31495},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"a7c4761fe6bcc96682f5c46bb0a47d204b0d2628","scripts":{"build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80af24a7-6ab0-4393-bafb-47e118eb778a"}},"repository":{"url":"git+https://github.com/exa-labs/ai-sdk.git","type":"git"},"_npmVersion":"11.16.0","description":"Exa web search tool for Vercel AI SDK","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-sdk_2.1.0_1780690831881_0.9942347074555107","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-11-10T18:14:28.423Z","modified":"2026-08-03T21:09:33.409Z","1.0.2":"2025-11-10T18:14:28.704Z","1.0.4":"2025-11-11T19:10:58.239Z","1.0.5":"2025-12-02T09:08:32.916Z","2.0.0":"2026-03-17T15:23:36.401Z","2.0.1":"2026-03-22T17:51:54.824Z","2.1.0":"2026-06-05T20:20:32.042Z"},"bugs":{"url":"https://github.com/exa-labs/ai-sdk/issues"},"author":{"name":"Exa"},"license":"MIT","homepage":"https://exa.ai","keywords":["exa","search","ai-sdk","vercel","web-search","ai","tools"],"repository":{"url":"git+https://github.com/exa-labs/ai-sdk.git","type":"git"},"description":"Exa web search tool for Vercel AI SDK","maintainers":[{"email":"ishan@exa.ai","name":"theishangoswami"},{"email":"miguel@exa.ai","name":"miguelatexa"},{"email":"tanishq.jaiswal97@gmail.com","name":"10ishq"},{"email":"me@wenhaolue.com","name":"wlue"},{"email":"gogeta1183@gmail.com","name":"kesku"},{"email":"ian@exa.ai","name":"ian-exa"}],"readme":"# Exa AI SDK\n\nExa is a Websearch API. Add Exa websearch tool to your LLMs in just a few lines of code. Giving your AI apps websearch capabilites. Works with AI SDK by Vercel.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Setup](#setup)\n- [Example](#example)\n- [All Options](#all-options)\n- [TypeScript Support](#typescript-support)\n- [Links](#links)\n- [License](#license)\n\n## Installation\n\n```bash\nnpm install @exalabs/ai-sdk\n```\n\n## Quick Start\n\n```typescript\nimport { generateText, stepCountIs } from \"ai\";\nimport { webSearch } from \"@exalabs/ai-sdk\";\nimport { openai } from \"@ai-sdk/openai\";\n\nconst { text } = await generateText({\n  model: openai('gpt-5-nano'),\n  prompt: 'Tell me the latest developments in AI',\n  system: \"Only use web search once per turn. Answer based on the information you have.\",\n  tools: {\n    webSearch: webSearch(),\n  },\n  stopWhen: stepCountIs(3),\n});\n\nconsole.log(text);\n```\n\nGet your API key from the [Exa Dashboard](https://dashboard.exa.ai/api-keys).\n\n**Defaults when you use `webSearch()`:**\n- Type: `auto` (best search)\n- Results: `10`\n- Text: `3000 characters per result`\n- Livecrawl: `fallback` (fresh content when needed)\n\n## Setup\n\n1. Get your API key from the [Exa Dashboard](https://dashboard.exa.ai/api-keys)\n2. Add it to your `.env` file:\n\n```bash\nEXA_API_KEY=your-api-key-here\n```\n\nThat's it! The package reads it automatically.\n\n## Example\n\nHere's a full-featured example combining the most useful search settings:\n\n```typescript\nconst { text } = await generateText({\n  model: openai('gpt-5-nano'),\n  prompt: 'Find the top AI companies in Europe founded after 2018',\n  tools: {\n    webSearch: webSearch({\n      type: \"auto\",                           // intelligent hybrid search\n      numResults: 6,                          // return up to 6 results\n      category: \"company\",                    // focus on companies\n      contents: {\n        text: { maxCharacters: 1000 },        // get up to 1000 chars per result\n        livecrawl: \"preferred\",               // always get fresh content if possible\n        summary: true,                        // return an AI-generated summary for each result\n      },\n    }),\n  },\n  stopWhen: stepCountIs(5),\n});\n\nconsole.log(text);\n```\n\n## All Options\n\n```typescript\nwebSearch({\n  // Search settings\n  type: \"auto\",           // \"auto\", \"keyword\", \"neural\", \"fast\", \"deep\"\n  category: \"news\",       // \"company\", \"research paper\", \"news\", \"pdf\", \n                          // \"github\", \"personal site\", \"linkedin profile\", \"financial report\"\n  numResults: 10,\n  \n  // Filter by domain\n  includeDomains: [\"linkedin.com\", \"github.com\"],\n  excludeDomains: [\"wikipedia.com\"],\n  \n  // Filter by date (ISO 8601)\n  startPublishedDate: \"2025-01-01T00:00:00.000Z\",\n  endPublishedDate: \"2025-12-31T23:59:59.999Z\",\n  startCrawlDate: \"2025-01-01T00:00:00.000Z\",\n  endCrawlDate: \"2025-12-31T23:59:59.999Z\",\n  \n  // Filter by text\n  includeText: [\"AI\"],    // Must contain\n  excludeText: [\"spam\"],  // Must not contain\n  \n  // Location\n  userLocation: \"US\",     // Two-letter country code\n  \n  // Content options\n  contents: {\n    text: {\n      maxCharacters: 1000,\n      includeHtmlTags: false,\n    },\n    summary: {\n      query: \"Main points\",\n    },\n    livecrawl: \"fallback\",     // \"never\", \"fallback\", \"always\", \"preferred\"\n    livecrawlTimeout: 10000,\n    subpages: 5,\n    subpageTarget: \"about\",\n    extras: {\n      links: 5,\n      imageLinks: 3,\n    },\n  },\n})\n```\n\n## TypeScript Support\n\nFull TypeScript types included:\n\n```typescript\nimport { webSearch, ExaSearchConfig, ExaSearchResult } from \"@exalabs/ai-sdk\";\n\nconst config: ExaSearchConfig = {\n  numResults: 10,\n  type: \"auto\",\n};\n\nconst search = webSearch(config);\n```\n\n## Links\n\n- [GitHub Repository](https://github.com/exa-labs/ai-sdk) - View source code of this npm package\n- [Try npm Package](https://www.npmjs.com/package/@exalabs/ai-sdk) - View on npm\n- [Vercel AI SDK Cookbook](https://ai-sdk.dev/cookbook/node/web-search-agent#exa) - Web search agent example featuring Exa\n- [API Dashboard](https://dashboard.exa.ai) - Try Exa API on the dashboard\n- [Get your API Keys](https://dashboard.exa.ai/api-keys) - Get your API keys\n- [Documentation](https://docs.exa.ai) - Exa API documentation\n- [Exa Website](https://exa.ai) - Learn more about Exa\n\n## License\n\nMIT\n","readmeFilename":"README.md"}