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

# Quickstart

> From sign-in to your first search in a couple of minutes.

<Steps>
  <Step title="Get an API key">
    Sign in at [helve.dev](https://helve.dev) with Google, GitHub, or email. Every new account starts with **\$2 of credits**, no card required. On the **API keys** tab, name a key and create it. The full key is shown once; copy it somewhere safe.
  </Step>

  <Step title="Make a search">
    Send the key as a bearer token. Everything under `/v1` uses the same header.

    <CodeGroup>
      ```bash cURL theme={null}
      curl -s https://helve.dev/v1/search \
        -H "Authorization: Bearer $HELVE_API_KEY" \
        -H "content-type: application/json" \
        -d '{"query": "latest research on speculative decoding", "max_results": 5}'
      ```

      ```typescript TypeScript theme={null}
      import { Helve } from "helve-sdk"; // npm install helve-sdk

      const helve = new Helve({ apiKey: process.env.HELVE_API_KEY });
      const { results, provider, usage } = await helve.search({
        query: "latest research on speculative decoding",
        max_results: 5,
      });
      ```

      ```python Python theme={null}
      from helve import Helve  # pip install helve

      helve = Helve()  # reads HELVE_API_KEY
      data = helve.search("latest research on speculative decoding", max_results=5)
      print(data["provider"], data["usage"]["cost_usd"])
      ```
    </CodeGroup>
  </Step>

  <Step title="Read the response">
    Every response has the same envelope: which provider served it, the results, how the request was adjusted, and what it cost.

    ```json theme={null}
    {
      "id": "srch_01j…",
      "provider": "exa",
      "results": [
        {
          "id": "res_…",
          "url": "https://arxiv.org/abs/2211.17192",
          "title": "Fast Inference from Transformers via Speculative Decoding",
          "snippets": ["We introduce speculative decoding, an algorithm to sample from …"],
          "score": 0.91,
          "score_synthesized": false,
          "published_date": "2022-11-30",
          "raw": { "…": "the engine's original result" }
        }
      ],
      "warnings": [],
      "usage": { "cost_usd": 0.005, "credits": 0 },
      "latency_ms": 812
    }
    ```
  </Step>

  <Step title="Pick a provider, or a panel">
    Add `"provider": "tavily"` to route to a specific engine, or `"provider": "fusion"` to merge several engines' top picks. Nothing else in the request or response changes. See [Providers](/concepts/providers) and [Fusion](/concepts/fusion).
  </Step>
</Steps>

## What next

<CardGroup cols={2}>
  <Card title="Extract pages" icon="file-lines" href="/tools/extract">
    Turn the URLs you found into clean markdown.
  </Card>

  <Card title="Transcribe audio" icon="waveform-lines" href="/tools/transcription">
    Submit a recording, poll a job, read the transcript.
  </Card>

  <Card title="Connect your agent" icon="plug" href="/mcp">
    Helve is an MCP server. One command adds every tool to Claude Code or Cursor.
  </Card>

  <Card title="Use an SDK" icon="cube" href="/sdks">
    TypeScript and Python clients typed from the same spec.
  </Card>
</CardGroup>
