> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getomni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Web Providers

> Configure public web search and page fetch providers for Omni agents

## Overview

Web providers let Omni's AI assistant and background agents look up public web information live during a chat or agent run. They are optional and configured independently from the [Web Connector](/connectors/web), which crawls a fixed website into Omni's internal index.

<Note>
  Configure web providers from **Settings** → **Web Providers**. Provider API keys are encrypted at rest using Omni's normal service-credential encryption.
</Note>

## Provider Types

| Provider kind | Supported providers       | Agent tool       | Purpose                                                    |
| ------------- | ------------------------- | ---------------- | ---------------------------------------------------------- |
| **Search**    | Exa, Serper, Brave Search | `web_search`     | Search the public web and return citation-friendly results |
| **Fetch**     | Exa, Firecrawl            | `fetch_web_page` | Fetch readable content from a specific public HTTP(S) URL  |

You can connect more than one provider of each kind, but only one search provider and one fetch provider are marked **Current** at a time.

## Setup

1. Navigate to **Settings** → **Web Providers**
2. In **Search Providers** or **Fetch Providers**, click **Connect** on the provider you want to use
3. Enter the provider API key
4. Optionally set a custom **Base URL** if you use a proxy or compatible endpoint
5. Click **Connect**
6. If multiple providers are connected for the same kind, click **Set current** on the provider Omni should use

<Note>
  `fetch_web_page` is only available when a fetch provider is configured. `web_search` is available when a search provider is configured.
</Note>

## URL Blocklist

The same settings page includes a **URL Blocklist** for public web fetches. Add one pattern per line:

```text theme={null}
example.com
*.example.com
https://example.com/private
```

| Pattern                       | Behavior                                     |
| ----------------------------- | -------------------------------------------- |
| `example.com`                 | Blocks exactly that hostname                 |
| `*.example.com`               | Blocks subdomains such as `docs.example.com` |
| `https://example.com/private` | Blocks URLs starting with that prefix        |

The fetch tool also rejects localhost URLs and URLs that resolve to private/internal IP addresses.

## How Agents Use Web Providers

When web providers are configured, the assistant may use:

| Tool             | Description                                                                                                  |
| ---------------- | ------------------------------------------------------------------------------------------------------------ |
| `web_search`     | Searches public web results for current or external information not expected to be in Omni's workplace index |
| `fetch_web_page` | Fetches readable content from a specific public HTTP(S) URL and treats it as untrusted context               |

Fetched page content is wrapped as untrusted web content so the model treats it as data, not instructions.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The assistant never uses web search">
    Confirm a search provider is connected and marked **Current**. Also check that the user's model has tool use enabled and that the question actually requires external/current information.
  </Accordion>

  <Accordion title="Fetching a URL is blocked">
    Check the URL blocklist. Omni also blocks localhost and private/internal network targets to prevent server-side request forgery.
  </Accordion>

  <Accordion title="Provider calls fail">
    Verify the API key, optional base URL, account quota, and provider status. Remove and reconnect the provider if the key was rotated.
  </Accordion>
</AccordionGroup>

## Security Considerations

* **Public HTTP(S) only**: Fetches must use `http://` or `https://`
* **Network safety**: Localhost and private/internal IP ranges are blocked
* **Admin policy**: Use the URL blocklist for sensitive domains or URL prefixes
* **Untrusted content**: Fetched pages are treated as context only, not instructions
* **Separate from indexing**: Live web results are not automatically added to Omni's search index
