diff --git a/content/cookbook/05-node/56-web-search-agent.mdx b/content/cookbook/05-node/56-web-search-agent.mdx
index 9fc3f14cb77d..de1d1fabedda 100644
--- a/content/cookbook/05-node/56-web-search-agent.mdx
+++ b/content/cookbook/05-node/56-web-search-agent.mdx
@@ -98,7 +98,7 @@ Unlike the native web search examples where searching is built into the model, u
### Use ready-made tools
-If you prefer a ready-to-use web search tool without building one from scratch, [Exa](https://exa.ai/)(a web search API designed for AI applications) provides a tool that integrates directly with the AI SDK.
+If you prefer a ready-to-use web search tool without building one from scratch, there are several options that integrate directly with the AI SDK.
#### Exa
@@ -161,6 +161,73 @@ const { text } = await generateText({
console.log(text);
```
+#### Perplexity Search
+
+
+ Get your API key from the [Perplexity API Keys
+ page](https://www.perplexity.ai/account/api/keys).
+
+
+First, install the Perplexity Search tool:
+
+```bash
+pnpm install @perplexity-ai/ai-sdk
+```
+
+Then, you can import and pass it into `generateText`, `streamText`, or your agent. Perplexity Search provides real-time web search with advanced filtering options including domain, language, date range, and recency filters:
+
+```ts
+import { generateText, stepCountIs } from 'ai';
+import { perplexitySearch } from '@perplexity-ai/ai-sdk';
+
+const { text } = await generateText({
+ model: 'anthropic/claude-sonnet-4-5',
+ prompt:
+ 'What are the latest AI developments? Use search to find current information.',
+ tools: {
+ search: perplexitySearch(),
+ },
+ stopWhen: stepCountIs(3),
+});
+
+console.log(text);
+```
+
+For more configuration options and customization, see the [Perplexity Search API documentation](https://docs.perplexity.ai/guides/search-quickstart).
+
+#### Tavily
+
+
+ Get your API key from the [Tavily Dashboard](https://app.tavily.com).
+
+
+First, install the `tavilySearch` tool:
+
+```bash
+pnpm install @tavily/ai-sdk
+```
+
+Then, you can import and pass it into `generateText`, `streamText`, or your agent:
+
+```ts
+import { generateText, stepCountIs } from 'ai';
+import { tavilySearch, tavilyExtract } from '@tavily/ai-sdk';
+
+const { text } = await generateText({
+ model: 'anthropic/claude-sonnet-4.5',
+ prompt: 'When was the latest update to the AI SDK?',
+ tools: {
+ webSearch: tavilySearch(),
+ webExtract: tavilyExtract(),
+ },
+ stopWhen: stepCountIs(3),
+});
+
+console.log(text);
+```
+
+For more customization options over your agent's web-access functionality, visit the [Tavily AI SDK Documentation](https://docs.tavily.com/documentation/integrations/vercel).
+
### Build and use custom tools
For more control over your web search functionality, you can build custom tools using web scraping and crawling APIs. This approach allows you to customize search parameters, handle specific data formats, and integrate with specialized search services.
diff --git a/content/docs/02-foundations/04-tools.mdx b/content/docs/02-foundations/04-tools.mdx
index 71f080fbd9ff..81d20d9c0789 100644
--- a/content/docs/02-foundations/04-tools.mdx
+++ b/content/docs/02-foundations/04-tools.mdx
@@ -150,6 +150,8 @@ These packages provide pre-built tools you can install and use immediately:
- **[@exalabs/ai-sdk](https://www.npmjs.com/package/@exalabs/ai-sdk)** - Web search tool that lets AI search the web and get real-time information.
- **[@parallel-web/ai-sdk-tools](https://www.npmjs.com/package/@parallel-web/ai-sdk-tools)** - Web search and extract tools powered by Parallel Web API for real-time information and content extraction.
+- **[@perplexity-ai/ai-sdk](https://www.npmjs.com/package/@perplexity-ai/ai-sdk)** - Search the web with real-time results and advanced filtering powered by Perplexity's Search API.
+- **[@tavily/ai-sdk](https://www.npmjs.com/package/@tavily/ai-sdk)** - Search, extract, crawl, and map tools for enterprise-grade agents to explore the web in real-time.
- **[Stripe agent tools](https://docs.stripe.com/agents?framework=vercel)** - Tools for interacting with Stripe.
- **[StackOne ToolSet](https://docs.stackone.com/agents/typescript/frameworks/vercel-ai-sdk)** - Agentic integrations for hundreds of [enterprise SaaS](https://www.stackone.com/integrations) platforms.
- **[agentic](https://docs.agentic.so/marketplace/ts-sdks/ai-sdk)** - A collection of 20+ tools that connect to external APIs such as [Exa](https://exa.ai/) or [E2B](https://e2b.dev/).
diff --git a/content/tools-registry/registry.ts b/content/tools-registry/registry.ts
index 4898daabeab7..4f8b0b2a96f1 100644
--- a/content/tools-registry/registry.ts
+++ b/content/tools-registry/registry.ts
@@ -118,6 +118,70 @@ console.log(text);`,
websiteUrl: 'https://parallel.ai',
npmUrl: 'https://www.npmjs.com/package/@parallel-web/ai-sdk-tools',
},
+ {
+ slug: 'perplexity-search',
+ name: 'Perplexity Search',
+ description:
+ "Search the web with real-time results and advanced filtering powered by Perplexity's Search API. Provides ranked search results with domain, language, date range, and recency filters. Supports multi-query searches and regional search results.",
+ packageName: '@perplexity-ai/ai-sdk',
+ tags: ['search', 'web'],
+ apiKeyEnvName: 'PERPLEXITY_API_KEY',
+ installCommand: {
+ pnpm: 'pnpm install @perplexity-ai/ai-sdk',
+ npm: 'npm install @perplexity-ai/ai-sdk',
+ yarn: 'yarn add @perplexity-ai/ai-sdk',
+ bun: 'bun add @perplexity-ai/ai-sdk',
+ },
+ codeExample: `import { generateText, gateway, stepCountIs } from 'ai';
+import { perplexitySearch } from '@perplexity-ai/ai-sdk';
+
+const { text } = await generateText({
+ model: gateway('openai/gpt-4o-mini'),
+ prompt: 'What are the latest AI developments? Use search to find current information.',
+ tools: {
+ search: perplexitySearch(),
+ },
+ stopWhen: stepCountIs(3),
+});
+
+console.log(text);`,
+ docsUrl: 'https://docs.perplexity.ai/guides/search-quickstart',
+ apiKeyUrl: 'https://www.perplexity.ai/account/api/keys',
+ websiteUrl: 'https://www.perplexity.ai',
+ npmUrl: 'https://www.npmjs.com/package/@perplexity-ai/ai-sdk',
+ },
+ {
+ slug: 'tavily',
+ name: 'Tavily',
+ description:
+ 'Tavily is a web intelligence platform offering real-time web search optimized for AI applications. Tavily provides comprehensive web research capabilities including search, content extraction, website crawling, and site mapping to power AI agents with current information.',
+ packageName: '@tavily/ai-sdk',
+ tags: ['search', 'extract', 'crawl'],
+ apiKeyEnvName: 'TAVILY_API_KEY',
+ installCommand: {
+ pnpm: 'pnpm install @tavily/ai-sdk',
+ npm: 'npm install @tavily/ai-sdk',
+ yarn: 'yarn add @tavily/ai-sdk',
+ bun: 'bun add @tavily/ai-sdk',
+ },
+ codeExample: `import { generateText, gateway, stepCountIs } from 'ai';
+import { tavilySearch } from '@tavily/ai-sdk';
+
+const { text } = await generateText({
+ model: gateway('google/gemini-3-pro-preview'),
+ prompt: 'What are the latest developments in agentic search?',
+ tools: {
+ webSearch: tavilySearch,
+ },
+ stopWhen: stepCountIs(3),
+});
+
+console.log(text);`,
+ docsUrl: 'https://docs.tavily.com/documentation/integrations/vercel',
+ apiKeyUrl: 'https://app.tavily.com/home',
+ websiteUrl: 'https://tavily.com',
+ npmUrl: 'https://www.npmjs.com/package/@tavily/ai-sdk',
+ },
{
slug: 'firecrawl',
name: 'Firecrawl',