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

# Basic Screenshot

> Simple screenshot example

The simplest capture request only requires a URL.

## Request

<Tabs>
  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST https://api.snapopa.com/capture \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"url": "https://example.com"}'
    ```
  </Tab>

  <Tab title="Node.js">
    ```javascript theme={null}
    const response = await fetch('https://api.snapopa.com/capture', {
      method: 'POST',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        url: 'https://example.com',
      }),
    });

    const data = await response.json();
    console.log(data.data.fileUrl);
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    import requests

    response = requests.post(
        'https://api.snapopa.com/capture',
        headers={
            'Authorization': 'Bearer YOUR_API_KEY',
            'Content-Type': 'application/json',
        },
        json={
            'url': 'https://example.com',
        }
    )

    data = response.json()
    print(data['data']['fileUrl'])
    ```
  </Tab>
</Tabs>

## Response

```json theme={null}
{
  "success": true,
  "error": null,
  "data": {
    "uuid": "abc123-def456",
    "fileUrl": "https://cdn.snapopa.com/abc123-def456.png",
    "fromCache": false,
    "tokenCost": 1,
    "fileSizeBytes": 245678,
    "processingTimeMs": 1234,
    "metadata": {
      "mimeType": "image/png",
      "width": 1920,
      "height": 1080,
      "createdAt": 1703001234
    }
  }
}
```

## Default Settings

When you don't specify options, these defaults are used:

| Option            | Default            |
| ----------------- | ------------------ |
| `format`          | `png`              |
| `viewport.width`  | 1920               |
| `viewport.height` | 1080               |
| `isFullPage`      | `false`            |
| `quality`         | 95                 |
| `timeout`         | 30000              |
| `waitUntil`       | `domcontentloaded` |

## Customize

Add options to customize the capture:

```json theme={null}
{
  "url": "https://example.com",
  "format": "webp",
  "viewport": {
    "width": 1280,
    "height": 720
  }
}
```

## Next Steps

* [Full Page Capture](/examples/full-page)
* [PDF Generation](/examples/pdf)
* [All Parameters](/capture/parameters)
