# Property data for AI agents — Realie

> Nationwide U.S. property records through MCP, CLI, or REST. Sign in with OAuth.

Human-facing page: https://www.realie.ai/agents
Auth: https://www.realie.ai/auth.md
Docs index: https://docs.realie.ai/llms.txt
Site overview: https://www.realie.ai/llms.txt

## Auth (OAuth first)

Do not register an OAuth app in the Clerk dashboard. Hosts discover Realie's authorization server and register themselves (DCR).

1. Add the MCP URL below, or run `realie login`. A browser opens Clerk on `accounts.realie.ai` — sign up or sign in.
2. New accounts: open https://app.realie.ai/developer and add a payment method. OAuth does not mint an API key. Property calls need a billed user.
3. MCP keeps the Clerk access token. CLI stores the existing API key after login. REST/CI: `Authorization: Bearer YOUR_API_KEY` or `REALIE_API_KEY`.

OAuth discovery (on app.realie.ai, not clerk.com):

- Resource: https://app.realie.ai/api/mcp
- Protected resource metadata: https://app.realie.ai/.well-known/oauth-protected-resource/mcp
- Authorization server metadata: https://app.realie.ai/.well-known/oauth-authorization-server

## Choose an interface

### MCP

Property data MCP (OAuth): https://app.realie.ai/api/mcp

Add that URL with no API key. The host will 401, read protected-resource metadata, and complete PKCE.

Claude Code:

```bash
claude mcp add --transport http realie https://app.realie.ai/api/mcp
```

Universal installer:

```bash
npx add-mcp https://app.realie.ai/api/mcp
```

`https://docs.realie.ai/mcp` is documentation search only. Do not use it for property data.

MCP docs: https://docs.realie.ai/realie-mcp-server

### CLI

Install:

```bash
curl -fsSL https://app.realie.ai/api/cli/install | bash
```

Or: `npm install -g @realie/cli` / `npx @realie/cli --help`

Authenticate (browser OAuth, then stores the API key):

```bash
realie login
```

CI (non-interactive, after a key exists):

```bash
realie login --api-key YOUR_API_KEY
```

Or set `REALIE_API_KEY`. Prefer `--json` for machine-readable output.

Example:

```bash
realie lookup --address "504 LAVACA ST" --state TX --county TRAVIS --json
```

CLI docs: https://docs.realie.ai/realie-cli

### REST API

Base: `https://app.realie.ai/api`

Use an API key after the account exists (OAuth + billing). MCP and `realie login` are the sign-in paths.

Example:

```bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://app.realie.ai/api/public/property/address?address=504%20LAVACA%20ST&state=TX"
```

API docs: https://docs.realie.ai/api-reference/property-data
OpenAPI: https://docs.realie.ai/api-reference/openapi.json

Common endpoints:

- `GET /public/property/search`
- `GET /public/property/address`
- `GET /public/property/location`
- `GET /public/property/owner`
- `GET /public/property/parcelId`
- `GET /public/premium/comparables` (premium)

## Machine-readable resources

- This page: https://www.realie.ai/agents.md
- Auth: https://www.realie.ai/auth.md
- Site llms.txt: https://www.realie.ai/llms.txt
- Docs llms.txt: https://docs.realie.ai/llms.txt
- Agent skill: https://docs.realie.ai/.well-known/agent-skills/realie/skill.md
- OpenAPI: https://docs.realie.ai/api-reference/openapi.json
- MCP server card: https://app.realie.ai/api/mcp/server-card
- OAuth protected resource: https://app.realie.ai/.well-known/oauth-protected-resource/mcp

## FAQ

**Can an agent create an account and sign in with OAuth?**
Yes. Start MCP or `realie login`, complete Clerk in the browser, then add a payment method at https://app.realie.ai/developer if the account is new.

**Why do I still need billing?**
OAuth identifies the Clerk user. `tools/call` and `realie lookup` use the API key on that user's billing record. Billing: https://app.realie.ai/billing

**CLI vs MCP vs REST?**
MCP for IDE harnesses (OAuth). CLI for terminal/shell workflows (`--json`). REST when building an app or needing full request control.

**Where should agents read docs?**
Start at https://www.realie.ai/auth.md, then https://docs.realie.ai/llms.txt. Individual docs pages are available as Markdown (append `.md` to the URL).
