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

# Web & Search Tools

> Web search, page extraction, and crypto price lookups.

## `web_search`

Searches the web for current information. Uses a multi-strategy fallback chain to ensure reliability across different hosting environments:

1. **Firecrawl** (primary) — structured search API, most reliable
2. **DuckDuckGo Lite** — POST-based HTML scraper, works from cloud IPs
3. **DuckDuckGo HTML** — legacy fallback
4. **Bing** — HTML scraper fallback
5. **Wikipedia** — final fallback for factual queries

**Parameters:** `query` (required)

Returns up to 5 results, each with `title`, `url`, and `snippet`.

```json theme={null}
{
  "query": "base chain tvl 2025",
  "results": [
    {
      "title": "Base TVL reaches $10B milestone",
      "url": "https://example.com/article",
      "snippet": "Base chain has surpassed $10 billion in total value locked..."
    }
  ],
  "count": 5
}
```

***

## `web_extract`

Fetches a URL and extracts the readable text content. Strips scripts, styles, navigation, and footer elements. Truncates output to **3,000 characters** to keep context manageable.

**Parameters:** `url` (required)

```json theme={null}
{
  "url": "https://docs.base.org/overview",
  "title": "Base Documentation",
  "content": "Base is a secure, low-cost Ethereum L2...",
  "length": 2847,
  "truncated": false
}
```

***

## `read_tweet`

Reads a tweet from X/Twitter using the [FXTwitter](https://github.com/FixTweet/FXTwitter) API. Accepts a full URL or numeric tweet ID.

**Parameters:** `tweet` (required — URL or ID)

```json theme={null}
{
  "id": "1800000000000000000",
  "text": "just deployed our new contract on base",
  "author": "Vitalik Buterin",
  "handle": "@VitalikButerin",
  "date": "2025-06-15T12:00:00Z",
  "likes": 4200,
  "retweets": 890,
  "replies": 312,
  "views": 250000,
  "url": "https://x.com/VitalikButerin/status/1800000000000000000"
}
```

Includes `photos`, `videos`, and `quote` fields when the tweet contains media or is a quote tweet.

***

## `find_music`

Searches for music on YouTube and returns direct video links. Uses Firecrawl with a music-biased query, falling back to DuckDuckGo.

**Parameters:** `query` (required)

```json theme={null}
{
  "query": "travis scott fe!n",
  "tracks": [
    {
      "title": "Travis Scott - FE!N ft. Playboi Carti",
      "url": "https://www.youtube.com/watch?v=abc123",
      "video_id": "abc123"
    }
  ],
  "count": 3
}
```

***

## `get_crypto_price`

Fetches live cryptocurrency prices from CoinGecko. Supports common ticker aliases (e.g., `eth` → `ethereum`, `btc` → `bitcoin`).

**Parameters:** `coin` (required)

Built-in aliases:

| Input             | CoinGecko ID |
| ----------------- | ------------ |
| `eth`, `ethereum` | `ethereum`   |
| `btc`, `bitcoin`  | `bitcoin`    |
| `sol`, `solana`   | `solana`     |
| `usdc`            | `usd-coin`   |
| `link`            | `chainlink`  |
| `uni`             | `uniswap`    |
| `pepe`            | `pepe`       |
| `doge`            | `dogecoin`   |

```json theme={null}
{
  "coin": "ethereum",
  "price_usd": 1665.61,
  "price_eth": null,
  "change_24h": "-0.81%",
  "market_cap_usd": 200894448334
}
```
