---
title: "Lead API Documentation | Cleveland Real Estate Group"
description: "How to send a cash offer request, contact message, or buyers list signup to Cleveland Real Estate Group programmatically."
url: "https://clevelandrealestategroup.com/api/"
---
# Lead API

Cleveland Real Estate Group buys houses in and around Cleveland, Ohio for cash. The site exposes one public API: the endpoint behind the cash offer, contact, and buyers list forms. A submission sent here reaches the team the same way a form on the site does.

Full documentation with field tables: https://clevelandrealestategroup.com/api/
Machine-readable spec (OpenAPI 3.1): https://clevelandrealestategroup.com/api/openapi.json
API catalog (RFC 9727): https://clevelandrealestategroup.com/.well-known/api-catalog

## At a glance

- Base URL: `https://clevelandrealestategroup.com`
- Endpoints: `POST /api/submit` and `GET /api/health`
- Request format: form data (`multipart/form-data` or `application/x-www-form-urlencoded`)
- Response format: JSON
- Authentication: none, but every submission must include a Cloudflare Turnstile token
- Rate limit: 5 submissions per minute per IP address

## Bot protection

Each request must carry a `cf-turnstile-response` field holding a token issued by the Cloudflare Turnstile widget. The widget only runs in a real browser, the token is verified on the server, and it can be used once. A request without a valid token is rejected with HTTP 400. Fully headless clients cannot obtain a token. An agent acting for a person should drive a real browser session on one of the site's forms, or hand the person off to https://clevelandrealestategroup.com/contact-us/ or the phone number 216-238-2875.

## Submitting a lead

`POST /api/submit` with form-encoded fields. The `form-type` field selects the kind of submission:

- `cash-offer`: property-address, phone-number, email (all required)
- `contact`: first-name, last-name, email, message (required); phone-number (optional)
- `buyers-list`: name, email, phone, zip-codes (required); bedrooms, price-range, close-timeline, message (optional)

Every kind also requires `cf-turnstile-response`.

Responses: `200` `{ "success": true }` on delivery; `400` for a missing or invalid Turnstile token or an unknown form type; `429` with a `Retry-After` header when the rate limit is hit; `500` if the submission could not be delivered.

## Health check

`GET /api/health` returns `{ "status": "ok" }` with HTTP 200 when the API is up.

---

Cleveland Real Estate Group · Lakewood, OH · Phone: 216-238-2875

For agents: https://clevelandrealestategroup.com/llms.txt
