AI Property Writer
v1 API

Developer API

POST an address, get back a branded lead-capture page with a full marketing kit — listing copy, social posts, and a neighborhood blurb. Works with Make.com, Zapier, n8n, or any HTTP client.

Bearer or x-api-key

Send your key as x-api-key or Authorization: Bearer.

~15 second response

Each call generates fresh copy with GPT-4 and publishes a live page.

JSON in, JSON out

Standard REST. No SDK required. Plays nicely with low-code tools.

1. Get an API key

API access requires a Pro plan. Upgrade here, then head to Settings → API Access and click Generate API Key. Keys look like apw_live_… and are shown exactly once — copy it into your password manager or the tool you're wiring up.

Treat your API key like a password. If it leaks, revoke and rotate from the settings page — that invalidates the old key immediately.

2. Create a listing

POST /api/v1/listings

curl -X POST https://www.aipropertywriter.com/api/v1/listings \
  -H "Content-Type: application/json" \
  -H "x-api-key: apw_live_YOUR_KEY_HERE" \
  -d '{
    "address_line1": "123 Main St",
    "city": "Austin",
    "state": "TX",
    "zip_code": "78701",
    "price_cents": 75000000,
    "beds": 4,
    "baths": 3,
    "sqft": 2400,
    "property_type": "Single Family",
    "features": ["pool", "hardwood floors", "updated kitchen"],
    "photos": ["https://example.com/photo1.jpg"]
  }'

Request body

FieldTypeNotes
address_line1stringRequired. Max 200 chars.
citystringOptional. Used for the neighborhood blurb.
statestringOptional. 2-letter or full name.
zip_codestringOptional.
price_centsintegerOptional. $750,000 = 75000000.
bedsintegerOptional.
bathsnumberOptional. Halves allowed (e.g. 2.5).
sqftintegerOptional.
property_typestringOptional. E.g. “Single Family”, “Condo”, “Townhouse”.
featuresstring[]Optional. Up to 20 items.
photosstring[]Optional. Public image URLs. Up to 20.

Response

{
  "success": true,
  "data": {
    "id": "c3f9…",
    "token": "k2JdLm3n",
    "public_url": "https://www.aipropertywriter.com/p/k2JdLm3n",
    "address": {
      "line1": "123 Main St",
      "city": "Austin",
      "state": "TX",
      "zip_code": "78701"
    },
    "listing": {
      "title": "Sun-Drenched Austin Retreat with a Backyard Oasis",
      "description": "…",
      "highlights": ["Saltwater pool", "Chef's kitchen", "…"],
      "social": { "instagram": "…", "facebook": "…" }
    }
  }
}

The public_url is live immediately — share it on social, email it to your seller, or drop it into a Facebook ad.

3. List your listings

GET /api/v1/listings returns up to 100 of your most recent listings.

curl https://www.aipropertywriter.com/api/v1/listings \
  -H "x-api-key: apw_live_YOUR_KEY_HERE"

Error codes

StatusMeaning
400Invalid JSON body or missing address_line1.
401Missing or invalid API key.
402Pro plan required, or your monthly listing limit is reached.
500Failed to save the listing. Retry.
502Listing generator failed. Retry.

Wiring it to Make.com

  1. In Make.com, add an HTTP → Make a request module.
  2. URL: https://www.aipropertywriter.com/api/v1/listings, method POST.
  3. Add headers: Content-Type: application/json and x-api-key: apw_live_… (store the key in Make's connection vault, not plaintext).
  4. Body type: Raw, content type JSON (application/json). Map the listing fields from your trigger (Google Sheets row, new MLS lead, etc.) into the JSON body.
  5. The module returns public_url — pipe it to Slack, email, a text, or a Facebook post.

Ready to build?

Pro plan unlocks the API plus 500 listings / month.