Skip to content

Overview and conventions

The Publish API returns every published job for a business as JSON. Use it to render job pages with your own front end instead of the SimplifyLocal renderer, or to pull job URLs into a static-site build.

It is read-only. Jobs are created from your scheduling tool and edited in the SimplifyLocal app; the API exposes what is live.

https://app.simplifylocal.app

Every endpoint lives under /api/businesses/{slug}, where {slug} is the business’s web address name in SimplifyLocal (for example alpha-pressure-washing).

Endpoint Returns
GET /api/businesses/{slug} The business and its path configuration
GET /api/businesses/{slug}/jobs Published jobs, newest first, with pagination
GET /api/businesses/{slug}/jobs/{job_slug} One published job in full
GET /api/businesses/{slug}/feed/jobs A lightweight feed for static builds

Field-by-field tables for every response object are in Objects.

  • JSON. Responses are application/json; charset=utf-8.
  • snake_case field names. Convert on your side if your stack prefers otherwise.
  • Timestamps are ISO 8601 in UTC with a Z suffix.
  • Server-to-server only. No CORS headers are sent, so a browser fetch from another origin is not supported. Call the API from your server or your build step.
  • Authentication is a Bearer key on every request. See Authentication.
  • Errors are a JSON body with an error code. See Errors.
  • Caching is by ETag and If-None-Match. See Caching.
Terminal window
curl https://app.simplifylocal.app/api/businesses/{slug}/jobs?limit=5 \
-H "Authorization: Bearer sl_live_…"

This is v1, served at the /api/businesses/... paths. Everything documented here is a commitment:

  • Additive changes (new optional fields, new optional query parameters, new endpoints) are non-breaking and may land at any time. Write your client to ignore fields it does not know.
  • Breaking changes (a field removed or its type changed) would ship at /api/v2/... and never alter v1 in place.

Changes are recorded in the Changelog. Breaking changes are also emailed to every key holder before they take effect.