APIUpdated 2026-07-17

API: Buyer Search

Find the investors most likely to buy a property with POST /buyers.

POST /buyers takes a property address and returns the investors most likely to buy it — flippers and landlords with verified purchase activity, complete with contact information. It is the API counterpart of buyer search in the dashboard, and the fastest way to build a disposition list for a deal you're wholesaling.

Request parameters

FieldRequiredDescription
address.street / address.city / address.stateYesSubject property address (state is 2-letter).
address.zipNo5-digit ZIP — improves comparable matching.
takeNoMaximum buyer profiles to return, 1–100 (default 25). You are charged for what is returned.
sourceNo"auto" (default) | "live" | "cached" — see below.
buyer_typesNoFilter by strategy: "flipper" (buys, renovates, resells) and/or "landlord" (buys and holds for rent). Default both.
distance_milesNoComparable-sale search radius, 0.1–10 miles (default 1).
sold_within_monthsNoOnly consider comparable sales within this window, 1–24 months (e.g. 12 = active in the last year).
list_nameNoLabel for the search in your pull history.

How source works

  • cached — serves only from the platform's proprietary investor database: investors verified as buying and operating in that market, with phone-level intel (type, carrier, DNC/TCPA flags). Bills at the low cached_buyer_profile rate (default 10 credits/profile) and never triggers a live search.
  • live — always runs a fresh comparable-sales search: flippers and landlords who recently purchased similar properties nearby, ranked by portfolio size with acquisition/disposition counts. Only established investors (3+ lifetime transactions) are returned. Bills at the buyer_profile rate (default 70 credits/profile).
  • auto (default) — serves cached when the investor database can fill the request, otherwise falls back to live. The response's source field tells you which one answered.

Example

Request
curl -X POST https://data.acquiredcrm.com/api/v1/buyers \
  -H "Authorization: Bearer ad_live_XXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "address": {"street": "3741 W Evans Dr", "city": "Phoenix", "state": "AZ", "zip": "85053"},
    "take": 25,
    "buyer_types": ["flipper", "landlord"],
    "sold_within_months": 12
  }'
Response
{
  "pull_id": "5d1f77a2-3c8b-4e9d-b6a0-7f2e1d4c5b60",
  "source": "live",
  "results_found": 137,
  "returned_count": 25,
  "credits_charged": 1750,
  "credits_refunded": 0,
  "environment": "production",
  "buyers": [
    {
      "id": "a1b2c3d4",
      "name": "Evergreen Holdings LLC",
      "type": "Company Owned",
      "classifications": ["landlord"],
      "properties_owned": 48,
      "total_acquisitions": 12,
      "total_dispositions": 5,
      "contacts": [
        {
          "first_name": "Dana",
          "last_name": "Reyes",
          "phones": ["6025551234"],
          "emails": ["dana@evergreen.com"]
        }
      ],
      "phone_intel": null,
      "markets": null,
      "times_traced": null
    }
  ]
}

Live-source profiles carry the comparable-sales fields shown above (properties_owned, total_acquisitions, total_dispositions). Cached-source profiles instead populate the database-intel fields that are null on live results:

Cached-source buyer fields
{
  "phone_intel": [
    { "number": "6025551234", "type": "Mobile", "carrier": "Verizon", "dnc": false, "tcpa": false, "times_traced": 7 }
  ],
  "markets": ["85008", "85053"],
  "times_traced": 7
}

The pull_id is a recorded history row — it shows up in GET /property-pulls alongside your property pulls.

Billing

Credits are held upfront for the requested take and settled against what was actually returned, at the rate of whichever source served. If an auto request is answered from the cache, you pay the cheaper cached_buyer_profile rate and the difference against the live-rate hold is refunded. If fewer profiles are found than requested, the shortfall is refunded too — the response reports both credits_charged and credits_refunded. Read your rates from GET /pricing.

Errors

  • 402 insufficient_credits — balance below take × per-profile price.
  • 422 validation_error — missing address fields, take out of range, or unknown buyer_types.

To learn more about the property itself before pitching buyers, combine this with POST /enrich, or skip trace the sellers with bulk jobs.