Skip to main content

GET /api/score

Score a location across all 8 signal groups. Query parameters
NameTypeRequiredDefaultDescription
latfloatLatitude of the location.
lngfloatLongitude of the location.
radiusfloat1.0Radius in km (max 10).
profilestringgeneralScoring profile. One of: general, qsr, self_storage, retail, office.
Example
curl "https://axiomlocus.io/api/score?lat=37.7749&lng=-122.4194"
Response
{
  "composite": 78.4,
  "confidence": 0.92,
  "sourcesUsed": 36,
  "sourcesTotal": 43,
  "metro": "sf",
  "profile": "general",
  "groups": {
    "businessVitality": {
      "score": 82.1,
      "confidence": 1.0,
      "sourcesActive": 5,
      "sourcesTotal": 6,
      "subScores": [
        { "name": "Net Business Openings", "score": 71 },
        { "name": "Category Diversity", "score": 88 },
        { "name": "Rating Trajectory", "score": 79 }
      ]
    }
  }
}
FieldTypeDescription
compositefloatOverall score from 0 to 100.
confidencefloatData completeness ratio from 0.0 to 1.0.
sourcesUsedintNumber of data sources that returned data.
sourcesTotalintTotal possible data sources.
metrostringMetro slug where the location was resolved.
profilestringScoring profile used.
groupsobjectPer-signal-group breakdown with score, confidence, sourcesActive, sourcesTotal, and subScores.

POST /api/bulk-score

Requires Bearer token.
Score up to 50 locations in a single request. Request body
{
  "locations": [
    { "lat": 37.7749, "lng": -122.4194 },
    { "lat": 34.0522, "lng": -118.2437 }
  ],
  "radius": 1.0,
  "profile": "qsr"
}
FieldTypeRequiredDefaultDescription
locationsarrayArray of objects. Maximum 50.
radiusfloat1.0Radius in km (max 10). Applied to all locations.
profilestringgeneralScoring profile for all locations.
Example
curl -X POST "https://axiomlocus.io/api/bulk-score" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"locations":[{"lat":37.77,"lng":-122.41},{"lat":34.05,"lng":-118.24}]}'
Response
{
  "results": [
    {
      "lat": 37.77,
      "lng": -122.41,
      "composite": 78.4,
      "confidence": 0.92,
      "groups": { "..." : "..." }
    },
    {
      "lat": 34.05,
      "lng": -118.24,
      "composite": 71.2,
      "confidence": 0.88,
      "groups": { "..." : "..." }
    }
  ]
}
FieldTypeDescription
resultsarrayArray of score objects, one per input location.
results[].compositefloatComposite score (0-100) for the location.
results[].confidencefloatData completeness ratio.
results[].groupsobjectSignal group breakdown.