Developers

BoozeReports API.

Authentication, endpoints, and example requests for the BoozeReports mobile API. Built for first-party clients; if you want production access for an integration, get in touch.

Base path: /mobile-api
REST · bearer auth · JSON

Authenticated REST API over HTTPS.

Hit POST /mobile-api/v1/auth/login for a bearer token, then pass it as Authorization: Bearer <token> on every request. Most endpoints return JSON; premium endpoints require an active subscription tied to the authenticated user.

The BoozeReports API is authenticated. All data endpoints require a bearer token obtained from the login endpoint.

Authentication

Send a username and password to POST /mobile-api/v1/auth/login. The response includes an access token. Pass that token on later requests as Authorization: Bearer YOUR_TOKEN.

curl -X POST https://www.boozereports.com/mobile-api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"your_username","password":"your_password"}'

Core endpoints

POST

/mobile-api/v1/auth/login

Authenticate a user and return an access token.

GET

/mobile-api/v1/me

Return the current user profile, tier, premium state, and admin flag.

GET

/mobile-api/v1/search?q=boxcar

Search bars by name, permit, or related text.

GET

/mobile-api/v1/bars/{permit}

Return the main bar detail payload for a permit.

GET

/mobile-api/v1/bars/{permit}/history

Return historical sales rows for the selected bar.

GET

/mobile-api/v1/bars/{permit}/financials

Return the cached financial intelligence payload for a bar, including valuation and related analysis. Premium required.

GET

/mobile-api/v1/bars/{permit}/violations

Return the full violation history and total fines for a single permit. Premium required.

GET

/mobile-api/v1/bars/{permit}/officers

Return cached or bulk-table officer data tied to the permit's legal entity.

GET

/mobile-api/v1/bars/{permit}/location

Return taxpayer and location records, plus delinquent and license status if available.

GET

/mobile-api/v1/bars/{permit}/nearby

Return nearby bars using geo distance. Supports a radius query parameter in miles.

GET

/mobile-api/v1/bars/{permit}/nearby-stats

Return nearby comparison stats including average sales, min/max, and area rank.

GET

/mobile-api/v1/saved

List the user's saved bars.

POST

/mobile-api/v1/saved/{permit}

Save a bar for the current user.

DELETE

/mobile-api/v1/saved/{permit}

Remove a saved bar.

GET

/mobile-api/v1/tracked

List the user's tracked bars.

POST

/mobile-api/v1/tracked/{permit}

Track a bar for the current user.

DELETE

/mobile-api/v1/tracked/{permit}

Remove a tracked bar.

GET

/mobile-api/v1/dashboard

Return the user dashboard snapshot for mobile clients.

GET

/mobile-api/v1/violations/recent

Return paginated recent TABC violations. Supports page, per_page, sort, and dir. Premium required.

GET

/mobile-api/v1/violations/search

Search grouped violation results by name, permit, severity, city, or ZIP. Premium required.

GET

/mobile-api/v1/delinquent

Return delinquent tax listings, optionally filtered with q. Premium required.

GET

/mobile-api/v1/licenses

Return recent and pending license records with filters for name, city, ZIP, status, and type. Premium required.

GET

/mobile-api/v1/audit-risk

Return the cached statewide audit-risk dataset used by the web app. Premium required.

GET

/mobile-api/v1/owners/{name}

Return the owner/officer summary page data, including establishments, summary sales, and active count.

POST

/mobile-api/v1/sync/pull

Fetch saved and tracked state for offline sync.

POST

/mobile-api/v1/sync/push

Push queued save and track actions from a mobile client.

Example request

curl https://www.boozereports.com/mobile-api/v1/search?q=boxcar \
  -H "Authorization: Bearer YOUR_TOKEN"

Example response

{
  "items": [
    {
      "permit": "MB123456",
      "name": "BOXCAR",
      "city": "SAN ANTONIO",
      "address": "123 MAIN ST",
      "latest_revenue": 42000
    }
  ]
}

Operational notes

  • Protected endpoints return 401 when the bearer token is missing or invalid.
  • Authentication and data routes are rate limited at the nginx layer.
  • The API is designed for first-party mobile clients and may evolve as the app expands.
Need API access for an integration or a higher-volume workflow? Contact BoozeReports before building against private or undocumented endpoints.