ListForge
Skip to main content
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 address
  • beds, 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.

Manage webhooks
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.