# Web Scraping

> **You are on:** `https://beta-api.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API |
> |---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com |
> | Beta | beta.paywithlocus.com | beta-api.paywithlocus.com |
> | Stage | stage.paywithlocus.com | stage-api.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Scrape web pages with optional JavaScript rendering.

**Category:** Web Scraping | **Website:** [www.abstractapi.com/api/web-scraping-api](https://www.abstractapi.com/api/web-scraping-api) | **Docs:** [docs.abstractapi.com/web-scraping](https://docs.abstractapi.com/web-scraping)

## Access Methods

| Method | Base URL | Auth |
|--------|----------|------|
| **MPP (Tempo)** | `https://abstract-web-scraping.mpp.paywithlocus.com/abstract-web-scraping/` | HTTP 402 auto-payment |
| **Wrapped API** | `https://beta-api.paywithlocus.com/api/wrapped/abstract-web-scraping/` | `Authorization: Bearer <LOCUS_API_KEY>` |

**OpenAPI discovery:** `GET https://abstract-web-scraping.mpp.paywithlocus.com/openapi.json`

## Endpoints

### Scrape

Scrape a URL and return the HTML content.

**Estimated cost:** $0.006

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL to scrape |
| `render_js` | boolean | No | Render JavaScript before scraping |
| `proxy_country` | string | No | Proxy country for geolocation |

```bash
curl -X POST https://abstract-web-scraping.mpp.paywithlocus.com/abstract-web-scraping/scrape \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>","render_js":"<boolean>","proxy_country":"<string>"}'
```
