# You.com — Orthogonal API

> Pay-per-use API on Orthogonal. Each call is billed to your Orthogonal balance.
> Base API: `https://api.orthogonal.com/v1/run` · [llms.txt](https://orthogonal.com/llms.txt) · [browse all APIs](https://orthogonal.com/discover)

Real-time web search, content extraction, and deep research APIs for AI agents.

**Verified:** yes

## Access

**Run API:** `POST https://api.orthogonal.com/v1/run`
**Auth:** `Authorization: Bearer $ORTHOGONAL_API_KEY`
Get an API key at https://orthogonal.com/dashboard/settings/api-keys

Every call goes through the unified Run API: send the API `slug`, the endpoint `path`, and the `query`/`body` parameters. The response is `{ "success": true, "price": "<usd>", "data": { ... } }`.

## Endpoints

### Contents

Extract clean page contents from one or more URLs. Returns full text, title, and metadata for each page. Useful for RAG pipelines and content analysis.

`POST /v1/contents`

**Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `urls` | array | Yes | Array of URLs to fetch contents from. |
| `formats` | array | No | Content formats to return: markdown, html, metadata. All included formats returned in response. |
| `crawl_timeout` | integer | No | Max time in seconds to wait for page content. 1-60, default 10. |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"you","path":"/v1/contents","body":{"urls":"<array>","formats":"<array>","crawl_timeout":"<integer>"}}'
```

### Web Search (POST)

Search the web via POST. Same functionality as GET /v1/search but accepts parameters in the request body.

`POST /v1/search`

**Estimated cost:** $0.005

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | The search query. Supports search operators. |
| `count` | integer | No | Max number of results to return per section (web and news). Default 10, max 100. |
| `freshness` | string | No | Freshness filter: day, week, month, year, or date range like 2024-01-01..2024-06-01. |
| `offset` | integer | No | Pagination offset, calculated in multiples of count. |
| `country` | string | No | Country code for geographical focus of results. |
| `language` | string | No | Language of results in BCP 47 format. |
| `safesearch` | string | No | Content moderation: off, moderate, strict. |
| `livecrawl` | string | No | Enable live crawling for full page content. Values: always, if_needed, never. |
| `livecrawl_formats` | array | No | Format(s) of livecrawled content: html, markdown, or both. |
| `include_domains` | array | No | Domains to restrict results to. Up to 500 domains. |
| `exclude_domains` | array | No | Domains to exclude from results. Up to 500 domains. |
| `boost_domains` | array | No | Domains to boost in search ranking. |
| `crawl_timeout` | integer | No | Max time in seconds to wait for livecrawl. 1-60, default 10. |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"you","path":"/v1/search","body":{"query":"<string>","count":"<integer>","freshness":"<string>","offset":"<integer>","country":"<string>","language":"<string>","safesearch":"<string>","livecrawl":"<string>","livecrawl_formats":"<array>","include_domains":"<array>","exclude_domains":"<array>","boost_domains":"<array>","crawl_timeout":"<integer>"}}'
```

### Research

Perform deep AI research on a topic. Returns a comprehensive answer with inline citations and sources. Price varies by research_effort: lite ($0.012), standard ($0.05), deep ($0.10), exhaustive ($0.45). Default effort is deep.

`POST /v1/research`

**Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `input` | string | Yes | The research question or complex query requiring in-depth investigation. Max 40,000 characters. |
| `research_effort` | string | No | Controls depth of research. Values: lite, standard, deep, exhaustive. Higher = more searches, higher cost. |
| `source_control` | object | No | Beta. Controls which web sources to search. Use to allow, block, or boost specific domains. |
| `output_schema` | object | No | Beta. Requests structured JSON output. Supported with standard, deep, exhaustive effort levels. |
| `response_style` | string | No | Style of the response output. |
| `response_language` | string | No | Language of the response. |

```bash
curl -X POST 'https://api.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"you","path":"/v1/research","body":{"input":"<string>","research_effort":"<string>","source_control":"<object>","output_schema":"<object>","response_style":"<string>","response_language":"<string>"}}'
```

---

Full details and an interactive quickstart: https://orthogonal.com/discover/you
