# Linkup API — Orthogonal API

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

Linkup is a web search engine for AI apps. We connect your AI application to the internet. Our API provides grounding data to enrich your AI’s output and increase its precision, accuracy and factuality.

**Verified:** yes

## Access

**Run API:** `POST https://api.orth.sh/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

### Search

The /search endpoint allows you to retrieve web content.

`POST /search`

**Estimated cost:** $0.01

**Docs:** https://docs.linkup.so/pages/documentation/api-reference/endpoint/post-search

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `q` | string | Yes | The natural language question for which you want to retrieve context. |
| `depth` | string | Yes | Defines the precision of the search. standard returns results faster; deep takes longer but yields more comprehensive results. |
| `outputType` | string | Yes | The type of output you want to get. Use structured for a custom-formatted response defined by structuredOutputSchema. |
| `structuredOutputSchema` | object | No | Required only when outputType is structured. Provide a JSON schema (as a string) representing the desired response format. The root must be of type object. |
| `includeSources` | boolean | No | Relevant only when outputType is structured. Defines whether the response should include sources. Please note that it modifies the schema of the response, see below |
| `includeImages` | boolean | No | Defines whether the API should include images in its results. |
| `fromDate` | string | No | The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before toDate, if provided, and later than 1970-01-01. |
| `toDate` | string | No | The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than fromDate, if provided, or than 1970-01-01. |
| `includeDomains` | string[] | No | The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains. |
| `excludeDomains` | string[] | No | The domains you want to exclude of the search. By default, don't restrict the search. |
| `includeInlineCitations` | boolean | No | Relevant only when outputType is sourcedAnswer. Defines whether the answer should include inline citations. |
| `maxResults` | number | No | The maximum number of results to return. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"linkup","path":"/search","body":{"q":"<string>","depth":"<string>","outputType":"<string>","structuredOutputSchema":"<object>","includeSources":"<boolean>","includeImages":"<boolean>","fromDate":"<string>","toDate":"<string>","includeDomains":"<string>","excludeDomains":"<string>","includeInlineCitations":"<boolean>","maxResults":"<number>"}}'
```

### Fetch

The /fetch endpoint allows you to fetch a single webpage from a given URL.

`POST /fetch`

**Estimated cost:** $0.01

**Docs:** https://docs.linkup.so/pages/documentation/api-reference/endpoint/post-fetch

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | The URL of the webpage you want to fetch. |
| `renderJs` | boolean | No | Defines whether the API should render the JavaScript of the webpage. |
| `includeRawHtml` | boolean | No | Defines whether the API should include the raw HTML of the webpage in its response. |
| `extractImages` | boolean | No | Defines whether the API should extract the images from the webpage in its response. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"linkup","path":"/fetch","body":{"url":"<string>","renderJs":"<boolean>","includeRawHtml":"<boolean>","extractImages":"<boolean>"}}'
```

---

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