Skip to main content

Buy Box FAQ: access, billing, and behavior

Which plans include Buy Box, how billing works (per matched investor profile), and whether the endpoint is synchronous.

Written by Charles Parra

Common questions about Buy Box: how to get access, how it is billed, and how it behaves.

How do I get access to Buy Box, and what does it cost?

Buy Box is available pay-as-you-go and as part of BatchData subscription plans. Because rates depend on your expected volume, our sales team works with you to recommend the right plan and quote pricing for your usage. Contact sales to get set up.

How does billing work?

You are billed per matched investor profile returned, deduped within a request. A request that returns 10 investors is billed for 10 matches. The endpoint requires take to be greater than zero, so there is no free count-only path: every successful request that returns investors incurs a per-match charge. You pay only for the investors that come back, so a tightly filtered search costs less than a broad one.

On a subscription, matches draw down your plan's monthly allotment.

Is the endpoint synchronous?

Yes. Buy Box is a single synchronous POST to /api/v2/investor/buybox. You send a subject property and get the ranked investors back in the same response. There is no job to create, no status to poll, and no callback.

What if I include an unsupported investor classification?

If you pass TRADITIONAL HOMEOWNER in the classification filter, the server removes it and returns a note in the result.warnings array of the response. The rest of your filter still applies, so the request succeeds and returns investors that match your remaining classifications. If TRADITIONAL HOMEOWNER is the only value in an inList filter, no classification remains and the request returns no investors.

Why did I get fewer investors than I expected?

Buy Box only returns active investors. An owner must have at least three current holdings, three acquisitions, or three dispositions to be eligible, and the default classification filter is limited to Flippers and Landlords. A wider search does not always return more investors. Buy Box builds a comp pool with a fixed maximum size. When more comparable sales match than the pool can hold, Buy Box keeps only part of them. Distance and sale date do not decide which comparable sales Buy Box keeps. Because of this, a larger distanceMiles or a longer withinLastMonths can return fewer investors, and a different set of investors. To reduce this effect, set searchCriteria.investor.ownership to current. Buy Box then returns only the current owners of comparable properties that sold inside the sale window, and not the investors who only sold one.

A classification that you send replaces the default list. It does not narrow it. For example, { "equals": "CASH BUYER" } returns every cash buyer, including investors who are neither flippers nor landlords. To get cash buyers who are also flippers or landlords, send the request without classification and keep the investors whose classification includes CASH BUYER. With the default list, or with an equals, inList, or matches filter that keeps at least one value other than TRADITIONAL HOMEOWNER, every investor that Buy Box returns has at least one classification.

Why did I get fewer properties than investors?

This is expected. The properties array is deduplicated by propertyId, with at most one property per investor. When several investors were drawn from the same comparable property, that property is listed once, so properties is never longer than investors and does not list every comparable property evaluated. The two arrays are also not positionally aligned: properties[i] does not correspond to investors[i].

Did this answer your question?