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

# Quickstart

> Make your first Hydrafetch call in under a minute.

## 1. Get your API key

Your key lives in your [dashboard](https://app.hydrafetch.com). It looks like `hf_...` and is scoped to your workspace, which holds your credit balance. Keep it secret — treat it like a password.

<Note>
  In the private beta, keys are provisioned for you. Email [team@hydrafetch.com](mailto:team@hydrafetch.com) to get one.
</Note>

## 2. Scrape your first page

Send a URL to `/v1/web/scrape` with your key in the `X-API-Key` header. By default you get back clean Markdown.

<CodeGroup>
  ```bash cURL theme={"dark"}
  curl -X POST https://api.hydrafetch.com/v1/web/scrape \
    -H "X-API-Key: hf_your_key_here" \
    -H "Content-Type: application/json" \
    -d '{ "url": "https://example.com" }'
  ```

  ```javascript Node theme={"dark"}
  const res = await fetch("https://api.hydrafetch.com/v1/web/scrape", {
    method: "POST",
    headers: {
      "X-API-Key": "hf_your_key_here",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ url: "https://example.com" }),
  });
  const { data } = await res.json();
  console.log(data.markdown);
  ```

  ```python Python theme={"dark"}
  import requests

  res = requests.post(
      "https://api.hydrafetch.com/v1/web/scrape",
      headers={"X-API-Key": "hf_your_key_here"},
      json={"url": "https://example.com"},
  )
  print(res.json()["data"]["markdown"])
  ```
</CodeGroup>

## 3. Read the response

Every scrape returns the page, the page's own metadata, how much to trust the extraction, and what the call cost:

```json theme={"dark"}
{
  "data": {
    "url": "https://example.com",
    "finalUrl": "https://example.com/",
    "status": 200,
    "cached": false,
    "metadata": {
      "title": "Example Domain",
      "pageType": "article",
      "wordCount": 19,
      "description": "Illustrative examples in documents.",
      "language": "en",
      "author": null,
      "siteName": null,
      "publishedTime": null,
      "image": null
    },
    "quality": { "confidence": 0.94, "complete": true, "blocked": false },
    "usage": { "creditsUsed": 1, "creditsRemaining": 4999, "freshness": "fresh" },
    "markdown": "# Example Domain\n\nThis domain is for use in illustrative examples..."
  }
}
```

`metadata` is what the page declares about itself — any field the page doesn't publish comes back `null`. `quality` tells you how much to trust the extraction; see [Extraction quality](/concepts/quality).

## 4. Ask for more

Want more than Markdown? Request additional [formats](/concepts/formats):

```bash theme={"dark"}
curl -X POST https://api.hydrafetch.com/v1/web/scrape \
  -H "X-API-Key: hf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown", "links", "structured"]
  }'
```

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    How keys, workspaces, and credits fit together.
  </Card>

  <Card title="Formats" icon="layer-group" href="/concepts/formats">
    Markdown, structured data, extracted JSON, and more.
  </Card>

  <Card title="Crawl a whole site" icon="sitemap" href="/endpoints/crawl">
    Go from one page to every page.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Every endpoint, with a live playground.
  </Card>
</CardGroup>
