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.
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
| Field | Type | Notes |
|---|---|---|
| address_line1 | string | Required. Max 200 chars. |
| city | string | Optional. Used for the neighborhood blurb. |
| state | string | Optional. 2-letter or full name. |
| zip_code | string | Optional. |
| price_cents | integer | Optional. $750,000 = 75000000. |
| beds | integer | Optional. |
| baths | number | Optional. Halves allowed (e.g. 2.5). |
| sqft | integer | Optional. |
| property_type | string | Optional. E.g. “Single Family”, “Condo”, “Townhouse”. |
| features | string[] | Optional. Up to 20 items. |
| photos | string[] | 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
| Status | Meaning |
|---|---|
| 400 | Invalid JSON body or missing address_line1. |
| 401 | Missing or invalid API key. |
| 402 | Pro plan required, or your monthly listing limit is reached. |
| 500 | Failed to save the listing. Retry. |
| 502 | Listing generator failed. Retry. |
Wiring it to Make.com
- In Make.com, add an HTTP → Make a request module.
- URL:
https://www.aipropertywriter.com/api/v1/listings, methodPOST. - Add headers:
Content-Type: application/jsonandx-api-key: apw_live_…(store the key in Make's connection vault, not plaintext). - 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.
- The module returns
public_url— pipe it to Slack, email, a text, or a Facebook post.