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

# Quickstart

> First search in under a minute.

<Note>
  Lightdrift is in private beta. If you don't have an API key yet, request one at [lightdrift.ai](https://lightdrift.ai/#api-key).

  Beta note: after \~5 idle minutes the first query pays a cold start (up to a couple of minutes) while GPUs wake; subsequent queries are fast. Retry-safe — the request completes.
</Note>

<Steps>
  <Step title="Get an API key">
    Sign up at [lightdrift.ai](https://lightdrift.ai/#api-key). Pricing is per query — no seats, no minimums.
  </Step>

  <Step title="Make your first search">
    Pass your key in the `X-API-Key` header and describe what you need:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.lightdrift.ai/v1/search \
        -H "X-API-Key: $LIGHTDRIFT_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{"query": "a spanish shawl nudibranch on a reef", "k": 5}'
      ```

      ```python Python theme={null}
      import requests

      r = requests.post(
          "https://api.lightdrift.ai/v1/search",
          headers={"X-API-Key": LIGHTDRIFT_API_KEY},
          json={"query": "a spanish shawl nudibranch on a reef", "k": 5},
      )
      for hit in r.json()["results"]:
          print(hit["title"], hit["file"], hit["rights"]["license"])
      ```

      ```javascript JavaScript theme={null}
      const r = await fetch("https://api.lightdrift.ai/v1/search", {
        method: "POST",
        headers: {
          "X-API-Key": process.env.LIGHTDRIFT_API_KEY,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ query: "a spanish shawl nudibranch on a reef", k: 5 }),
      });
      const { results } = await r.json();
      ```
    </CodeGroup>
  </Step>

  <Step title="Read the rights answer">
    Every result carries a `rights` object — license, permission flags, a ready-to-use attribution string, and how the file is delivered:

    ```json theme={null}
    {
      "license": "cc-by-4.0",
      "commercial": true,
      "attribution_required": true,
      "attribution": "\"Spanish shawl (Flabellina iodinea)\" by anudibranchmom, iNaturalist, CC BY 4.0",
      "delivery": "host"
    }
    ```

    See [Rights answers](/guides/rights) for the full field reference and the posture behind it.
  </Step>

  <Step title="Use the file">
    When `rights.delivery` is `host`, the `file` URL is served from Lightdrift storage and safe to hotlink or download. When it is `link`, Lightdrift points you at the rights holder's copy.
  </Step>
</Steps>

## Next

<CardGroup cols={2}>
  <Card title="Design-layer filters" icon="sliders" href="/api-reference/introduction">
    Filter by luminance, negative space, palette, aspect, and faces — or let `parse_design` read it from your query text.
  </Card>

  <Card title="Use with agents" icon="robot" href="/guides/agents">
    Give your agent the whole engine as a tool.
  </Card>
</CardGroup>
