Getting Started
Cobroker API Documentation
Cobroker provides a REST API that gives AI agents commercial real estate capabilities. Create projects, manage properties, enrich with ESRI demographics and Tapestry psychographics, analyze foot traffic, search Google Places, and run AI-powered research — all via HTTP.
Base URL
https://app.cobroker.ai/api/agent/openclawAuthentication
Every request requires two headers. No OAuth, no token refresh — just two static headers on every call.
# Required headers on every request
X-Agent-User-Id: your-user-id
X-Agent-Secret: your-secret
Content-Type: application/jsonQuick Start
Create a project with properties in one call:
curl -X POST "https://app.cobroker.ai/api/agent/openclaw/projects" \
-H "Content-Type: application/json" \
-H "X-Agent-User-Id: your-user-id" \
-H "X-Agent-Secret: your-secret" \
-d '{
"name": "Dallas Warehouses",
"public": true,
"properties": [
{
"address": "123 Main St, Dallas, TX 75201",
"fields": { "Price": "$500,000", "Size": "10,000 SF" }
}
]
}'Response:
{
"success": true,
"projectId": "uuid",
"publicUrl": "https://app.cobroker.ai/public/uuid",
"propertyCount": 1,
"geocodedCount": 1,
"columns": [{ "id": "uuid", "name": "Price" }, { "id": "uuid", "name": "Size" }]
}Projects & Properties
Create a Project
/projectsCreate a new project with properties and custom fields. Properties are automatically geocoded from addresses. Maximum 50 properties per request.
{
"name": "Dallas Warehouses",
"description": "Q1 industrial survey",
"source": "openclaw",
"public": true,
"properties": [
{
"address": "123 Main St, Dallas, TX 75201",
"fields": {
"Price": "$500,000",
"Size": "10,000 SF",
"Type": "Warehouse"
}
}
]
}public: true so the project URL can be shared. New field names automatically create new columns.List / Get Projects
/projectsReturns all projects with name, description, property count, and URLs.
/projects/{id}Returns full project details including all properties, columns, and field values. Field names are human-readable (not UUIDs).
Add Properties
/projects/{id}/propertiesAdd properties to an existing project. New field names automatically create new columns. Existing field names map to existing columns.
{
"properties": [
{
"address": "456 Oak Ave, Dallas, TX 75202",
"fields": { "Price": "$750K", "Size": "15,000 SF" }
}
]
}Update / Delete
/projects/{id}Update project name, description, or visibility. Only provided fields are updated.
/projects/{id}/propertiesUpdate property addresses or field values. Property id is required. Address changes trigger re-geocoding.
/projects/{id}Delete project and all associated data.
/projects/{id}/propertiesRemove properties by ID.
Demographics & Psychographics
Overview
Enrich properties with ESRI GeoEnrichment data. 15+ categories covering demographics, psychographics, consumer spending, crime, business data, and more. Each data type can be queried by radius (miles), drive-time (minutes), or walk-time (minutes). Properties must have coordinates (geocoded from addresses).
Available Data Types
/projects/{id}/demographicsReturns all available data types grouped by category.
Core Demographics
population, median_age, households, population_density, household_size, daytime_population
Income
income, per_capita_income, avg_household_income, disposable_income, income brackets ($25K–$250K+)
Employment
total_employment, retail_jobs, healthcare_jobs, office_jobs, food_service_jobs, manufacturing_jobs, construction_jobs, education_jobs, unemployment_rate
Housing
median_home_value, median_rent, owner_occupied, renter_occupied, vacant_housing, housing_after_2010, avg_home_value, median_year_built
Age Groups
age_0_4, age_5_17, age_18_24, age_25_34, age_35_44, age_45_54, age_55_64, age_65_74, age_75_plus, working_age
Race/Ethnicity
white_population, black_population, hispanic_population, asian_population, two_or_more_races, diversity_index
Tapestry Psychographics
tapestry_segment (67 lifestyle segments), tapestry_top3, lifemode_group
Consumer Spending
restaurant_spending, retail_spending, entertainment_spending, grocery_spending, spending_potential_index
Market Potential Index
dining_propensity, shopping_propensity, fitness_propensity
Business Data
business_count, employee_count, retail_trade_businesses, food_service_businesses
Crime Indexes
total_crime_index, property_crime_index, personal_crime_index
Retail Marketplace
retail_demand, retail_supply_gap, food_service_demand
Commute
avg_commute_time, work_from_home_pct, public_transit_pct
Education
bachelors_degree_pct, graduate_degree_pct
Health Insurance
uninsured_rate
Add Demographics
/projects/{id}/demographics{
"dataType": "population",
"radius": 1,
"mode": "radius"
}Parameters:
dataType— demographic metric (see list above)radius— 0.1 to 100 (miles for radius, minutes for drive/walk)mode— "radius" | "drive" | "walk" (default: "radius")columnName— optional, auto-generated if omitted
Foot Traffic
Overview
Location intelligence data for commercial properties. Foot traffic counts, dwell time, trade area analysis, competitive rankings, retail sales estimates, and visitor journey data — derived from mobile location signals.
Available Metrics
Visitation
visits, visit_trends, visits_by_hour, visits_by_day, visit_frequency
Dwell Time
dwell_time (visitor duration segments)
Trade Area
trade_area (visitor origins by Census Block Group), drive_time_trade_area
Competitive
rankings, competitive_benchmark, nearby_activity
Retail Sales
transaction_volume, avg_ticket_size, sales_trends, daily_sales
Visitor Journey
visitor_origins, cross_shopping, favorite_chains
Get Traffic Data
/projects/{id}/traffic{
"dataType": "visits",
"period": "last_12_months",
"granularity": "monthly"
}Parameters:
dataType— traffic metric (see list above)period— last_month, last_3_months, last_6_months, last_12_monthsgranularity— daily, weekly, monthly
Places Search
Search Places
/projects/{id}/places/searchSearch Google Places for existing businesses, chains, and locations. Preview before saving. Use projectId: "new" to auto-create a project.
// Preview mode — returns results without saving
{ "query": "Starbucks in Dallas", "preview": true }
// Save to new project
{ "query": "Starbucks in Dallas", "projectName": "Starbucks Dallas" }
// Save to existing project
// POST /projects/{existingId}/places/search
{ "query": "Starbucks in Dallas" }Parameters:
query— search textpreview— if true, returns without saving (default: false)maxResults— max 400 (default: 50)regionSearch— search across 7 US regions for nationwide coverage
Nearby Analysis
/projects/{id}/places/nearbyAnalyze what's near each property. Two modes:
// Nearest mode — find closest matching place
{ "query": "grocery store", "radiusMiles": 2, "mode": "nearest" }
// Count mode — count place types within radius
{ "placeTypes": ["restaurant", "cafe"], "radiusMiles": 1, "mode": "count" }Map Layers
Save places as a map layer with brand logos instead of project properties:
{
"query": "Starbucks",
"destination": "layer",
"layerName": "Starbucks Locations",
"markerColor": "#00704A"
}AI Research
Submit Enrichment
/projects/{id}/enrichmentAsk any question about each property. The API researches the answer using web sources and returns structured results. Async — returns immediately, poll for results.
{
"prompt": "What is the zoning classification for this property?",
"columnName": "Zoning",
"processor": "core"
}Processor tiers:
base— fast, ~15–100s per propertycore— balanced (default), ~1–5minpro— thorough, ~3–9minultra— exhaustive, ~5–25min
Poll for Results
/projects/{id}/enrichment?columnId={columnId}Poll every ~30 seconds. When status is "complete", fetch project details to read the enrichment column values.
curl -X GET "https://app.cobroker.ai/api/agent/openclaw/projects/{id}/enrichment?columnId={columnId}" \
-H "X-Agent-User-Id: your-user-id" \
-H "X-Agent-Secret: your-secret"Integrations
OpenClaw Skill
Install the cobroker-projects skill in your OpenClaw agent. Requires COBROKER_AGENT_USER_ID and COBROKER_AGENT_SECRET environment variables.
MCP Server
Cobroker publishes an MCP discovery file for automatic integration with Claude Code, Cursor, and other MCP clients.
CLI Coming Soon
Command-line interface for the Cobroker API. Install via npm or pip. Manage projects, run enrichments, and search places from your terminal.
Knowledge Base
FAQ
What is Cobroker?
Cobroker is an API platform that gives AI agents commercial real estate capabilities — projects, properties, ESRI demographics, Tapestry psychographics, foot traffic, Google Places search, and AI research. It's built for agents, not dashboards.
Can I use this with my own AI agent?
Yes. Cobroker is a standard REST API. If your agent can make HTTP requests, it can use Cobroker. Works with Claude Code, OpenClaw, LangChain, or any framework.
How does authentication work?
Two static headers on every request: X-Agent-User-Id and X-Agent-Secret. No OAuth, no token refresh.
What data sources does the API use?
Demographics from ESRI GeoEnrichment (58+ types). Places from Google Places API. Foot traffic from mobile location intelligence. AI research from Parallel AI.
What demographic data is available?
15+ categories: population, income, employment, housing, age, ethnicity, Tapestry psychographics (67 lifestyle segments), consumer spending, crime indexes, business counts, retail marketplace, commute, education, health insurance.
What foot traffic data is available?
Estimated visits, hourly/daily patterns, dwell time, visit frequency, trade area (visitor origins by Census Block Group), competitive rankings, retail sales estimates, and visitor journey (cross-shopping, origins).
How does AI research work?
Submit a question, the API researches the answer for each property asynchronously. Four processor tiers: base (~15s), core (~1-5min), pro (~3-9min), ultra (~5-25min).
What does Places Search find?
Existing businesses and locations via Google Places — Starbucks, grocery stores, restaurants. Not available space for lease. Preview before saving, nationwide search up to 400 results.
Can I use Cobroker with OpenClaw?
Yes. Install the cobroker-projects skill. Full guide at cobroker.ai/openclaw.
Is there an MCP integration?
Yes. MCP discovery file at cobroker.ai/.well-known/mcp.json with all API tools declared.
Does the API handle geocoding?
Yes. Properties with addresses are automatically geocoded. You can also provide lat/long directly.
How do I get started?
Sign up at app.cobroker.ai/signup to get credentials. Then start making API calls. Check llms.txt at cobroker.ai/llms.txt for a quick start.
Address Format
Addresses must have at least 3 comma-separated components:
✓ "123 Main St, Dallas, TX 75201"
✓ "123 Main St, Suite 100, Dallas, TX 75201"
✗ "123 Main St Dallas TX 75201" — no commas
✗ "123 Main St, Dallas TX 75201" — only 2 parts
Constraints & Limits
- Maximum 50 properties per create/add request
- Places search: 50 results default, up to 400 with regionSearch
- Properties are auto-geocoded from addresses
- Demographics require properties with coordinates
- Enrichment is async — poll status endpoint for results
- Map layers require an existing project
- Duplicate layer names return 409
- Always create projects as public: true for shareable URLs
Response Format
All responses are JSON with a top-level success boolean.
// Success response
{ "success": true, "projectId": "uuid", "publicUrl": "..." }
// Error response
{ "success": false, "message": "Description of the error" }- Project creation returns: projectId, publicUrl, propertyCount, columns
- Property operations return counts
- Demographics and enrichment return column metadata
- Enrichment submit returns 202 with columnId for polling