When a property lands in your CRM, send it here. You get back the buyers most likely to take it, ranked, with the top three ready to call or text.
One call per property. Send the key in the Authorization header and the property as JSON.
curl -X POST https://www.smoothintelligence.io/api/v1/match \
-H "Authorization: Bearer si_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "1234 Main St, Dallas, TX 75216",
"property_type": "house",
"flood_zone": "no",
"asking_price": 85000,
"arv": 160000,
"sender_name": "Jane Doe",
"sender_phone": "214-555-0199",
"limit": 10
}'
| Field | What it is |
|---|---|
zip | The 5-digit ZIP of the property. Needed, unless the address has one in it or you send query. |
address | The street address. If it ends in a ZIP, you can skip zip. |
property_type | house, lot, multifamily or commercial. Leave it out and we treat it as a house. |
flood_zone | yes or no. Yes finds buyers who have bought in flood zones. |
condition | Send teardown for a house that needs knocking down. Finds buyers who tear houses down. |
asking_price, arv, lot_dimensions | Go into the ready-to-send text we hand back. |
sender_name, sender_phone | Sign that text, so buyers know who it is from. |
limit | How many buyers to send back, 1 to 25. Default 10. |
query | Optional. A plain search, the same words you would type on the dashboard, like land buyers in 75216. When you send it, it is used instead of the fields above. |
The buyers, best fit first, and the top three with what to do next. The names and numbers below are made up to show the shape.
{
"query": "cash buyers in 75216",
"covered": true,
"total_in_pool": 44,
"buyers": [
{
"rank": 1,
"name": "Example Homes LLC",
"buyer_id": "0b8e6c1e-5d7a-4c55-9a51-2f1e8c7d9a10",
"buyer_type": "active flipper",
"score": 87,
"purchases_12mo": 9,
"purchases_lifetime": 31,
"properties_in_area": 6,
"why": [
"9 purchases in the last 12 months",
"6 of the 14 properties they own are here"
],
"revealed": true,
"contact": {
"phones": [ { "number": "+12145550123", "dnc": false } ],
"emails": [ "offers@examplehomes.com" ]
}
}
],
"top3": [
{ "rank": 1, "name": "Example Homes LLC", "next_step": "call or text",
"contact": { "phones": [ { "number": "+12145550123", "dnc": false } ], "emails": [ "offers@examplehomes.com" ] } }
],
"daily_limit_message": null,
"text_template": "HOUSE in 75216: 1234 Main St, Dallas, TX 75216\nAsking $85,000. ARV $160,000.\nFlood zone: No.\nJane Doe, 214-555-0199\nNot interested? Reply STOP."
}
| Field | What it means |
|---|---|
covered | false when the ZIP is outside the areas we cover. message then says which areas we do. |
score | 0 to 100, how well this buyer fits this property. Not a rating of the buyer: a different property can rank the same buyer differently. |
why | The reasons this buyer made the list, in plain words. |
revealed | true when you already revealed this buyer on the dashboard. |
contact | Phones and emails, only for buyers you revealed. Otherwise null. Every phone has dnc: true is on the Do Not Call list, false is not, null means it was never checked. |
next_step | call or text, email, reveal on smoothintelligence.io first, every number is on the Do Not Call list, or no phone or email on file yet. |
text_template | A ready-to-send message about your property, when you sent an address. |
daily_limit_message | Filled in only when your account reached its daily buyer limit, and the list was cut short. |
Revealing a buyer happens on the dashboard, one buyer at a time, the same as always. The API never reveals anyone and never uses a reveal.
https://www.smoothintelligence.io/api/v1/matchaddress, zip and property_type from the trigger. Add flood_zone if your CRM has it.Authorization set to Bearer si_live_YOUR_KEY.top3 names and phones in a note, a task, or a text from your CRM.new deal).https://www.smoothintelligence.io/api/v1/matchAuthorization set to Bearer si_live_YOUR_KEY and Content-Type set to application/json.top3 into custom fields, or send the reply to Zapier with the steps above if your GoHighLevel plan cannot read a webhook reply.Days reset at midnight UTC, except the buyer limit, which counts the last 24 hours. If you need more, reply to any email from us and we will raise it.
| Code | What happened | What to do |
|---|---|---|
400 | No ZIP, no address with a ZIP, and no query. | Send one of the three. |
401 | The key is missing, wrong, or turned off. | Check the header reads Bearer si_live_..., or make a new key. |
403 | The account is not on Premium. | Keys stop working when Premium ends and start again when it is back. |
429 | Too many calls. | Wait the seconds in the Retry-After header and try again. |
500, 503 | Our side had a problem. | Try again in a minute. |
"dnc": true unless you have the buyer's permission. When somebody says stop, stop, and take them out of your CRM's texting list. Texts sent through your CRM follow its rules and its phone number registration.