Hallie API
A read-only HTTP API over the Google reviews of your Business Profiles. It exists so your own website can show them: fetch them, style them, cache them — they are your reviews.
Endpoints
Two, and the first one exists to feed the second.
Base URL
https://api.hallie.app/v1
Every response is JSON. Every request must be made over HTTPS.
Authentication
Send a bearer token. The account owner creates one under Organization → API tokens, and it is shown once at creation — if it is lost, revoke it and issue another.
Authorization: Bearer YOUR_TOKEN
Accept: application/json
Paging
Both lists page the same way, and both answer with links and meta alongside data. To walk everything, follow links.next until it comes back null — it already carries the query you sent. To show a count instead, meta.to and meta.total tell you how far you are.
|
Parameter
|
Values
|
Default
|
Description
|
|---|---|---|---|
| per_page | 1–100 | 25 | Reviews per page. |
| page | integer | 1 | Which page to read. The response also links to the next one. |
Rate limit
120 requests per minute, counted per organization rather than per token — issuing a second token does not raise the ceiling. Over it, the API answers 429 with a Retry-After header.
Errors
|
Status
|
Meaning
|
When
|
|---|---|---|
| 401 | Unauthenticated | The token is missing, malformed or has been revoked. |
| 403 | Forbidden | The token is valid but lacks the reviews:read ability. |
| 404 | Not found | No Business Profile of yours matches that id. A profile belonging to someone else answers the same way. |
| 422 | Invalid parameter | A query parameter is outside its allowed values. The body names the offending one. |
| 429 | Too many requests | You went over the rate limit. Retry-After tells you how long to wait. |
Versioning
The version is in the path. Fields may be added to a response without notice — ignore the ones you do not use — but nothing is removed or renamed inside v1. A breaking change ships as v2.