Skip to content

Build-time feed

GET /api/businesses/{slug}/feed/jobs

A lighter list than List jobs for sites that fetch at build time: no body, no structured data, no photo array, just what a card or a sitemap entry needs. Most-recently-updated first.

Terminal window
curl "https://app.simplifylocal.app/api/businesses/{slug}/feed/jobs?service=house-washing&limit=12" \
-H "Authorization: Bearer sl_live_…"

All optional.

Parameter Type Default Notes
limit integer 50 Page size, 1–200. Out of range → 400 invalid_limit.
cursor string — The pagination.next_cursor from the previous page. Cursors from this endpoint are not interchangeable with /jobs cursors.
service string — Only jobs whose service_type equals this slug, for example house-washing.
city string — Only jobs whose service_city equals this slug, for example marietta.
fields minimal — Return only slug, url and updated_at. Any other value returns the full item.

service and city combine. A page can come back shorter than limit when a filter is set; keep following next_cursor until has_more is false.

updated_at descending, then id descending, so a rebuild sees the freshest edits first.

200 OK

{
"items": [
{
"slug": "house-washing-marietta",
"headline": "…",
"service_type": "house-washing",
"service_city": "marietta",
"meta_description": "…",
"thumbnail_url": "https://…",
"url": "https://example.com/work/house-washing-marietta",
"updated_at": "2026-04-13T09:02:11Z"
}
],
"pagination": { "next_cursor": null, "has_more": false }
}
Field Type Notes
slug string The job’s slug.
headline string Page headline.
service_type string or null Service slug, null when the job has none.
service_city string or null City slug, null when the job has none.
meta_description string or null Short description.
thumbnail_url string or null One representative photo, null when the job has none.
url string The job page’s absolute URL: the business’s connected domain plus /work/{slug}, or the SimplifyLocal-hosted address while no domain is connected.
updated_at string ISO 8601. Use it as <lastmod>.

With fields=minimal each item is { "slug", "url", "updated_at" } only.

Header Value
ETag Honoured by If-None-Match → 304.
Cache-Control public, max-age=300, s-maxage=600, stale-while-revalidate=86400. This endpoint may be cached by intermediaries; an edit shows up by your next build.
Status error
400 invalid_cursor, invalid_limit
401 / 403 / 404 / 410 See Authentication.
500 lookup_failed — temporary; retry.

See the guide: Add job URLs to a static sitemap.