MapIndex

API

The same data the map uses. Send an area, get back every business in it with its contact details and a lead score.

GET/leads

Returns every business inside the map area you send.

NameTypeDescription
bboxwest,south,east,northThe map area to scan, as longitude/latitude bounds.
areaoptionallng,lat;lng,lat;…A drawn outline or radius circle. Only businesses inside it are returned.
Request
GET /leads?bbox=-97.7700,30.2500,-97.7200,30.2900
Response
{
  "leads": [
    {
      "id": "atx-0192",
      "name": "Garcia Collision",
      "categoryId": "auto",
      "category": "Auto repair shop",
      "address": "4809 Elm Ave",
      "lat": 30.2671,
      "lng": -97.7431,
      "phone": "(512) 555-0133",
      "website": null,
      "rating": 4.2,
      "reviewCount": 137,
      "hours": "Mon–Fri 8 AM–6 PM",
      "mapsUrl": "https://www.google.com/maps/search/?api=1&query=Garcia+Collision",
      "score": 0.77,
      "signals": ["No website listed on Google Maps", "137 reviews but nowhere to send them"]
    }
  ]
}

Lead fields

NameTypeDescription
idstringStable id for the business.
namestringBusiness name as listed on Maps.
categoryIdstringrestaurants, plumbers, salons, contractors, auto, dentists or cleaning.
categorystringHuman label from Maps, e.g. "Hair salon".
addressstringStreet address.
lat, lngnumberWhere the pin goes.
phonestring | nullnull when none is listed.
websitestring | nullnull means no website is listed — the strongest lead signal.
ratingnumber | null0–5, null with no reviews.
reviewCountnumberNumber of reviews.
hoursstring | nullOpening hours text.
mapsUrlstringLink to the business on Google Maps.
scorenumber | null0–1 lead score. 0.7+ is a hot lead, 0.4+ warm.
signalsstring[]Plain-language reasons the business was flagged.