REST API
ListForge Public API
Generate MLS descriptions, social posts, and buyer emails from your CRM, scripts, or brokerage tools. Uses the same credits as the dashboard.
Authentication
Pro plan or team workspace required. Create keys in Settings → API Keys.
Send your API key as a Bearer token on every request:
Authorization: Bearer lf_live_…
Alternatively, use the X-API-Key header with the same value.
POST /api/v1/listings/generate
Generate a full listing package from a property brief.
Request body (JSON)
address(required) — property addressbeds,baths,sqft,features(optional)
Example request
curl -X POST https://workspace-gamma-self.vercel.app/api/v1/listings/generate \
-H "Authorization: Bearer lf_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "1847 Willow Creek Drive, Austin, TX 78701",
"beds": "4",
"baths": "3",
"sqft": "2400",
"features": "Pool, home office, updated kitchen"
}'Example response (201)
{
"id": "clx…",
"title": "1847 Willow Creek Drive, Austin, TX 78701",
"propertyBrief": {
"address": "1847 Willow Creek Drive, Austin, TX 78701",
"beds": "4",
"baths": "3",
"sqft": "2400",
"features": "Pool, home office, updated kitchen"
},
"mlsDescription": "…",
"socialPost": "…",
"buyerEmail": "…",
"createdAt": "2026-08-02T00:00:00.000Z"
}Webhooks (Zapier)
Outbound events when generations complete — use with Zapier Catch Hooks or custom endpoints.
Configure webhooks in Settings → Integrations. Events: generation.complete, seller_update.complete.
Payloads are signed with HMAC-SHA256 in the X-ListForge-Signature header. Event type is in X-ListForge-Event.
Error codes
- 401 — Invalid or missing API key
- 403 — Pro plan or team key required (
PRO_REQUIRED) - 402 — No credits remaining (
INSUFFICIENT_CREDITS) - 429 — Rate limit (30 requests/hour per key)
Each successful generation uses one credit — same as generating in the dashboard. Your Brand Voice profile is applied automatically.