Skip to main content

Access

GET https://searchlight.digital/api

Returns what your credentials can reach: the organizations you can request, the accounts under each one, the endpoints available to you, and the dictionary of every field.

Start here if you don't know what to put in the <organization> path segment. This is the one endpoint with no organization in its path, because finding that value is what it's for.

Query Parameters​

None. Extra parameters are ignored.

Response​

A JSON object (gzip-compressed, see responses):

{
"user": "you@example.com",
"organizations": [
{
"organization": "example-group",
"accounts": ["example-home-services", "example-plumbing", "example-air"]
}
],
"endpoints": [
{
"endpoint": "events",
"path": "/api/{organization}/events",
"parameters": ["fields", "start", "end", "interval", "account", "accounts"],
"metrics": ["spend", "leads", "bookRate", "..."],
"dimensions": ["account", "campaign", "attributionCategory", "..."]
},
{
"endpoint": "benchmarks",
"path": "/api/{organization}/benchmarks",
"parameters": ["fields", "month", "account", "accounts"],
"metrics": ["bookRate", "matchRate", "roasClosed", "..."],
"dimensions": ["attributionCategory", "attributionChannel", "customerStatus", "normalizedBusinessUnit"],
"notes": "Anonymized industry benchmark statistics for one calendar month; ..."
},
{
"endpoint": "insights",
"path": "/api/{organization}/insights",
"parameters": ["fields", "start", "end", "account", "accounts"],
"notes": "Latest insight per account when start and end are omitted."
}
],
"dictionary": {
"bookRate": {
"displayName": "Book Rate",
"definition": "The efficiency of booking new leads, calculated as the number of Booked Customers divided by Customers.",
"type": "metric",
"format": "percent",
"benchmarkable": true
},
"...": {}
}
}
FieldDescription
userThe login your credentials resolve to
organizationsEvery organization you can request, each with the account keys under it
endpointsThe available endpoints, with their parameters and the metrics and dimensions each accepts
dictionaryEvery field, keyed by name: its display name, definition, type (dimension or metric), format, and its possible values where they are enumerable. Metrics that benchmarks supports are flagged benchmarkable, and its dimensions benchmarkDimension

Organizations and accounts​

Any organization value in the response works in the <organization> path segment of the other endpoints, and an account key works in their account and accounts parameters when it is under that organization.

Every account is also its own organization. An account key works in the path segment when your credentials are granted on that account itself; such accounts appear in organizations under their own key:

GET /api/example-home-services/events?fields=spend&start=2026-06-01&end=2026-06-30

An account you reach through an organization is requested through that organization, with account; a request for it through its own key returns 404:

GET /api/example-group/events?account=example-home-services&fields=spend&start=2026-06-01&end=2026-06-30

Authentication​

This endpoint requires a user API key or a signed-in session.

{ "error": "Unauthorized. Sign in or use an API key." }

See authentication for how to generate a user key.

Errors​

StatusCause
401Missing or incorrect key