> ## Documentation Index
> Fetch the complete documentation index at: https://jesse-7a8b4a1d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Search the web with a natural-language query and get a table of companies and people, each with sources and a rationale.

One natural-language query returns a table of companies and people. Every row has source URLs and a rationale for each filter the row passed. The server searches the web, checks the filters, and streams JSON events until it hits your target or finishes its rounds. It does not invent rows.

A search is a server-side job. `POST /v1/searches` returns an id straight away, and you then either stream the events or poll the run. A run takes minutes, so there is no single blocking call to make.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="play" href="/quickstart">
    Start a search, then stream its events or poll it until it is terminal.
  </Card>

  <Card title="Agent prompt" icon="message-square" href="/agent-prompt">
    Paste one prompt into a coding agent and let it integrate the API.
  </Card>

  <Card title="Result schema" icon="table" href="/result">
    Fields on every row, including per-filter rationales and page URLs.
  </Card>

  <Card title="Eniac" icon="square-arrow-out-up-right" href="https://eniac.floworks.ai">
    Run a search in the browser before you wire it up.
  </Card>
</CardGroup>

## Base URL

```text theme={null}
https://eniac.floworks.ai
```

<Note>
  **Every request needs a credential.** To get one, sign in with Google at [eniac.floworks.ai/?panel=keys](https://eniac.floworks.ai/?panel=keys), create an API key, and copy it straight away: the key is shown once and never again. Send it as an `Authorization: Bearer <credential>` header on every call. A session token and an API key both work. An API key starts `lf_live_` and a session token starts `eyJ`, which is the quickest way to tell which one you pasted when a call comes back `401`. A request with no credential, or one that does not resolve, is refused and no search starts. Read the credential from configuration and never hardcode it.
</Note>

## Billing in one paragraph

Starting a search holds $5.00 of your balance up front. If you do not have $5.00 available, the `POST` is refused with `402` and nothing runs. When the search ends you are charged what it actually spent, which is the figure the `cost` events report, and the rest of the hold is released. See [Errors](/errors) for the `402` body and [Cost](/cost) for the number to show a user.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.