# Serper Scrape — 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)

Web scraping powered by Serper - extract clean text, markdown, or HTML from any URL. Handles JavaScript-rendered pages and returns structured content with metadata.

**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

### Scrape Webpage

Scrape any webpage and extract its content as clean text, markdown, or raw HTML. Handles JavaScript-rendered pages. Returns page text, metadata (title, description, OG tags), and optionally markdown/HTML. Use for content extraction, data gathering, or page analysis.

`POST /`

**Estimated cost:** $0.02

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL of the webpage to scrape |
| `includeMarkdown` | boolean | No | Include markdown version of the content |
| `includeHtml` | boolean | No | Include raw HTML of the page |

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

---

Full details and an interactive quickstart: https://orthogonal.com/discover/serper-scrape
