# Quickstart

> Make your first real read in under a minute.

Source page: https://docs.replynodes.com/docs/quickstart

# Quickstart

## No key: first read in one call

These work right now without an account or key (limits are per caller per UTC
day; see the [Agent Quickstart](https://docs.replynodes.com/docs/agent-quickstart) for the full keyless list):

```bash
curl -s 'https://md.replynodes.com/https://example.com'        # page as Markdown, 100/day
curl -s 'https://brand.replynodes.com/stripe.com'              # brand kit, 20/day
curl -s 'https://api.replynodes.com/v1/youtube/video/dQw4w9WgXcQ'  # YouTube video, 10/day
```

When a call returns `429 anonymous_limit_reached` or `401`, follow
`error.next_action` in the response body to get a key.

If you are evaluating the free Logo -> Brand -> Markdown loop from the owned
documentation channel, use the measured sign-up entry point:
[`platform.replynodes.com/sign-up`](https://platform.replynodes.com/sign-up?source=docs&utm_medium=owned&utm_campaign=free-loop).
The existing first-party handoff is bounded and expires after 30 days.

## MCP clients

For an interactive MCP client, add `https://mcp.replynodes.com/mcp` as a
remote server. The client can discover the native OAuth flow and authenticate
through Better Auth at [`https://auth.replynodes.com`](https://auth.replynodes.com).
Use the `mcp:read` scope when the client asks for scopes. No organization id is
needed; the authenticated organization supplies the tenant context. Manage
your ReplyNodes access at
[`https://platform.replynodes.com/sign-in`](https://platform.replynodes.com/sign-in) and manage access at [`https://platform.replynodes.com/api-keys`](https://platform.replynodes.com/api-keys).

For headless clients or manual configuration, first use the [agent claim flow](https://docs.replynodes.com/docs/auth)
if you do not have a key, then use the API-key setup in the [MCP guide](https://docs.replynodes.com/docs/mcp).

Set `REPLYNODES_API_KEY` in your shell from a secret store. The HTTP API
receives it only in the `Authorization` header. Keep it server-side; do not
commit it or put it in browser code.

```bash
: "${REPLYNODES_API_KEY:?Set REPLYNODES_API_KEY in your secret store}"
```

Fetch a public page as clean Markdown. This is the canonical `webcontext` scrape operation in the OpenAPI contract:

```bash
curl -sS \
  -H "Authorization: Bearer ${REPLYNODES_API_KEY}" \
  "https://api.replynodes.com/v1/webcontext/scrape?url=https%3A%2F%2Freplynodes.com"
```

Successful responses use the `{ data, meta }` envelope. `meta.request_id` is always present. Errors use `{ error: { code, message, request_id } }`.

## Add correlation

Send an opaque request id when you need to connect a client log to a support investigation:

```bash
curl -sS \
  -H "Authorization: Bearer ${REPLYNODES_API_KEY}" \
  -H "X-Request-Id: demo-scrape-001" \
  "https://api.replynodes.com/v1/webcontext/scrape?url=https%3A%2F%2Freplynodes.com"
```

For parameters, response schemas, and every available provider operation, use the [API Reference](https://docs.replynodes.com/reference). It is generated from the runtime capability contract, not hand-maintained endpoint prose.
