Curb API
Integrate professional real estate listing descriptions directly into your applications. The Curb API allows you to generate compelling property descriptions programmatically, perfect for MLS integrations, property management systems, and real estate platforms.
Fast Generation
Get 3 professional listings + social captions in seconds
Simple Integration
RESTful API with JSON responses, easy to integrate anywhere
Secure Access
Bearer token authentication with per-key rate limiting
Authentication
All API requests require authentication via a Bearer token in the Authorization header. API access is available on the Agency plan ($75/month).
- Sign up for a Curb account at curb.io/signup
- Upgrade to the Agency plan from your billing settings
- Navigate to Settings → API Keys
- Click "Create New Key" and copy your secret key
Authorization Header
Authorization: Bearer sk_live_your_api_key_hereRate Limits
API requests are rate-limited to ensure fair usage and platform stability.
| Plan | Daily Limit | Reset Time |
|---|---|---|
| Agency | 100 requests/day | Midnight UTC |
Usage tracking: Each API response includes a usage object showing your current usage and limit. Plan your integrations accordingly.
Generate Listing Descriptions
/api/v1/generateGenerate professional listing descriptions in multiple tones, plus social media captions for Instagram, Facebook, Twitter, and LinkedIn.
Request Body
Send a JSON object with property details. At minimum, provide the property type and some identifying details (beds, sqft, or features).
| Parameter | Type | Required | Description |
|---|---|---|---|
propertyType | string | Required | Type of property: 'single-family', 'condo', 'townhouse', 'multi-family', or 'land' |
beds | string | Optional | Number of bedrooms (e.g., '3') |
baths | string | Optional | Number of bathrooms (e.g., '2.5') |
sqft | string | Optional | Square footage (e.g., '2500') |
lotSize | string | Optional | Lot size with unit (e.g., '0.25 acres') |
yearBuilt | string | Optional | Year the property was built (e.g., '2018') |
price | string | Optional | Listing price (not included in generated text) |
address | string | Optional | Property address for location context |
features | string[] | Optional | Array of property features to highlight |
neighborhoodNotes | string | Optional | Notes about the neighborhood, nearby amenities, schools, etc. |
Tip: The more details you provide, the better the generated descriptions. Include specific features like "granite countertops" or "hardwood floors" rather than generic terms.
Response Format
Successful requests return a JSON object with listings in three tones, social media captions, and usage information.
Response Structure
{
"listings": [
{
"tone": "Professional",
"description": "This exceptional 4-bedroom, 3-bathroom residence spans 2,500 square feet on a generous 0.25-acre lot. Built in 2018, the home showcases granite countertops, hardwood floors throughout, and stainless steel appliances...",
"wordCount": 127
},
{
"tone": "Warm & Inviting",
"description": "Picture yourself in this beautiful 4-bedroom sanctuary where every detail has been thoughtfully curated. From the gleaming hardwood floors to the chef-inspired kitchen with granite countertops...",
"wordCount": 134
},
{
"tone": "Luxury",
"description": "A distinguished 4-bedroom, 3-bathroom estate commanding attention in one of Austin's most sought-after locations. This 2018-built residence exemplifies modern sophistication...",
"wordCount": 142
}
],
"socialCaptions": {
"instagram": "🏡 Just listed in Austin! 4BR/3BA with smart home tech + covered patio 🌳 DM for details! #JustListed #AustinRealEstate #DreamHome",
"facebook": "New listing alert! Stunning 4-bed, 3-bath home in Austin with modern finishes throughout. Schedule your tour today! 🏠 #NewListing #AustinHomes",
"twitter": "🏠 NEW: 4BR/3BA in Austin! Smart home + granite counters + hardwood floors 🔑 #JustListed #AustinTX",
"linkedin": "New listing: 4-bedroom, 3-bathroom property in Austin, TX. Premium finishes and smart home features. Contact for details. #RealEstate"
},
"usage": {
"used": 42,
"limit": 100
}
}Listing Tones
- Professional: Polished, fact-focused copy suitable for MLS listings
- Warm & Inviting: Emotional language that helps buyers envision living there
- Luxury: Upscale, sophisticated tone emphasizing premium features
Social Captions
- Instagram: Emoji-friendly caption with 3-5 hashtags
- Facebook: Conversational post with call-to-action
- Twitter: Under 280 characters, punchy and attention-grabbing
- LinkedIn: Professional tone without emojis
Error Codes
The API uses standard HTTP status codes and returns descriptive error messages.
| Status | Code | Description |
|---|---|---|
| 200 | OK | Request successful, listings generated |
| 400 | Bad Request | Invalid JSON body or missing required fields |
| 401 | Unauthorized | Missing, invalid, or inactive API key |
| 429 | Too Many Requests | Rate limit exceeded (100 requests/day) |
| 500 | Internal Server Error | Something went wrong on our end |
Error Response Format
{
"error": "Rate limit exceeded. Maximum 100 requests per day.",
"usage": {
"used": 100,
"limit": 100,
"resetsAt": "midnight UTC"
}
}Code Examples
Complete examples in popular languages to get you started quickly.
curl -X POST https://curb.io/api/v1/generate \
-H "Authorization: Bearer sk_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"propertyType": "single-family",
"beds": "4",
"baths": "3",
"sqft": "2500",
"lotSize": "0.25 acres",
"yearBuilt": "2018",
"address": "123 Oak Street, Austin, TX",
"features": [
"granite countertops",
"hardwood floors",
"stainless steel appliances",
"smart home system",
"covered patio"
],
"neighborhoodNotes": "walking distance to top-rated elementary school"
}'Ready to integrate?
Get started with the Curb API today. Create your API key and start generating professional listing descriptions in minutes.