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

# Web access

# Fetching web content

Atomic's bundled `fetch_content` tool reads webpages, PDFs, GitHub repositories, YouTube videos, and local video files.

## Arguments

Always pass the lowercase `urls` field as a nonempty array of strings, even for one URL:

```json theme={null}
{"urls": ["https://example.com/article"]}
```

For multiple pages:

```json theme={null}
{"urls": ["https://example.com/one", "https://example.com/two"]}
```

For a video, include the question in `prompt`:

```json theme={null}
{"urls": ["/path/to/recording.mp4"], "prompt": "What error appears on screen?"}
```

Existing prompts or integrations using `{"url": "..."}` must change to `{"urls": ["..."]}`. The singular `url` field is no longer accepted by `fetch_content`. This does not change the `url` selector on `get_search_content`.

Atomic can normalize a scalar `urls` string into a one-item array. Always use the documented array form in prompts and integrations; the legacy `url` field is not normalized.

## Troubleshooting

If argument validation fails, check that:

* The field is `urls`, not `URLs` or `url`.
* Its value is an array, not a string or an object.
* The array contains at least one nonempty string.
* The call has no unrecognized fields.

When fetched content is truncated, follow the returned `get_search_content` call to retrieve the stored content.
