canonical: https://jentic.com/apis/easybroker.com/easybroker

# EasyBroker API

EasyBroker is a real estate CRM and listing platform widely used by Latin American brokerages to manage property catalogues and lead pipelines. The API exposes endpoints for creating and updating property listings, capturing inbound contact requests, and reading the location reference data used to tag listings. It is used by portals, lead-gen sites, and AI assistants that need to push or pull real estate inventory programmatically.

## For AI agents

Manage real estate property listings, capture buyer contact requests, and look up location reference data on the EasyBroker platform.

## Scope

Does not handle commission calculations, broker payroll, MLS syndication, or transactional escrow - use for EasyBroker property listings, contact requests, and location lookups only.

## Capabilities

- List and paginate active property listings with filters
- Create a new property listing with photos, price, and address fields
- Update price, status, or descriptive fields on an existing property
- Retrieve full property detail by property ID for portal display
- Capture an inbound buyer or renter contact request against a specific listing
- Look up canonical location reference data for use in listing addresses

## Use cases

### Listing syndication to a portal

Real estate portals and aggregator sites pull active listings from EasyBroker via GET /properties to keep their catalogue in sync with the source brokerage. Each listing's full record can be fetched on demand from `/properties/{property_id}` when a user clicks through, avoiding stale data.

Example prompt: List all EasyBroker properties updated in the last 24 hours and return their IDs and titles.

### Lead capture from a marketing landing page

When a prospect submits a contact form on a brokerage's landing page, an agent calls POST /contact_requests with the property ID, prospect name, email, and message. The lead lands in the broker's EasyBroker pipeline immediately so an agent can follow up while interest is fresh.

Example prompt: Create a contact request against property 12345 with name 'Maria Lopez', email 'maria@example.com', and message 'Interested in viewing this weekend'.

### Bulk listing creation from a spreadsheet

Brokerages onboarding to EasyBroker often start with an Excel inventory. An agent reads each row and calls POST /properties to create the listing with title, price, location ID, and description. Failed rows can be retried by inspecting the response error and the address resolved against /locations.

Example prompt: Given a CSV row with title, price, location ID, and description, create the matching EasyBroker property and return the new property ID.

### Agent-driven listing maintenance

An AI agent can respond to natural-language brokerage commands like 'mark this property as sold' or 'reduce the price of listing 12345 by 5 percent'. Through Jentic, the agent matches the intent to PATCH `/properties/{property_id}` and executes the right partial update without the user editing fields manually.

Example prompt: Reduce the price on EasyBroker property 12345 by 5 percent and confirm the new price in the response.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/properties` | List property listings |
| POST | `/properties` | Create a new property listing |
| GET | `/properties/{property_id}` | Get property details |
| PATCH | `/properties/{property_id}` | Update a property listing |
| GET | `/contact_requests` | List inbound contact requests |
| POST | `/contact_requests` | Capture a buyer contact request |
| GET | `/locations` | List canonical locations |

## Key resources

- **Properties** — Create, list, retrieve, and update property listings
- **Contact Requests** — Capture and list inbound buyer or renter inquiries
- **Locations** — Read canonical location reference data for tagging listings

## Why Jentic

- **Setup:** Wiring EasyBroker by hand means setting up its X-Authorization key header and coding the property, contact-request, and location calls yourself. Through Jentic you install once, import EasyBroker from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** EasyBroker puts the property id in the URL path (`/properties/{property_id}`), so a rule can pin your agent to one property: it can read and update that listing and nothing else. You choose the operations it may call, so creating new properties or reading contact requests is not included unless you add it.
- **Credential handling:** Your EasyBroker X-Authorization key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a real estate listing' or 'look up a location', and Jentic returns the matching EasyBroker operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HubSpot CRM** — General-purpose CRM with deeper pipeline automation
- **Salesforce API** — Enterprise CRM backbone for larger brokerages
- **Google Maps Platform** — Geocoding and place enrichment for property addresses

## FAQ

### What authentication does the EasyBroker API use?

EasyBroker uses an API key passed in the X-Authorization HTTP header. Through Jentic, the key is stored encrypted in your Jentic One instance and attached to each request at execution time, so the raw key is never visible to the agent.

### Can I create and update property listings with the EasyBroker API?

Yes. POST /properties creates a new listing with title, price, location, and description fields, and PATCH `/properties/{property_id}` updates any subset of those fields on an existing record. GET `/properties/{property_id}` returns the canonical detail view.

### What are the rate limits for the EasyBroker API?

The spec does not publish numeric rate limits. EasyBroker enforces per-account throttling on listing writes - if you hit a 429, back off and retry, or contact EasyBroker support to raise the cap on your plan.

### How do I capture a buyer lead through Jentic?

Search Jentic for 'capture a real estate lead', load the schema for POST /contact_requests, then execute with the property ID and prospect details. The full flow is: pip install jentic, then await client.search, await client.load, await client.execute.

### Does the EasyBroker API expose agent or commission data?

This 7-endpoint surface covers properties, contact requests, and locations. Broker user accounts, commission splits, and pipeline stages are managed in the EasyBroker web app and are not exposed by these endpoints.

### Can I limit what my agent is allowed to do with the EasyBroker API?

Yes. Because you run Jentic One yourself, your own rules decide which EasyBroker operations the agent may call and which stored credential it may use, so you can allow only GET /properties reads while blocking POST /properties, PATCH `/properties/{property_id}`, or POST /contact_requests. Since the property id sits in the URL path, a rule can pin the agent to a single listing, letting it read and update that one property and nothing else. Any operation you have not granted, such as capturing contact requests or creating new listings, stays out of the agent's reach.
