Skip to content

Search the marketplace

Gateway module

GET/marketplace/opportunitiesmarketplace.search

Searches opportunities the caller may see, by role type, discipline and category, distance, dates, rate and required certifications through the filter grammar. Ranking factors are published; no placement can be bought. A rule that refuses the request returns 422 with `refusal` and `reason`.

  • Requires the capability opportunities.posting.read.
  • OAuth scopes: opportunities.
  • Error statuses: 400, 401, 422, 429. Errors are RFC 9457 problem details.

Path and query parameters

marketplace.search: Path and query parameters
FieldTypeRequiredDescription
qstringNoFree-text search.
nearstringNoLatitude and longitude to measure distance from.Constraints: pattern ^-?[0-9.]+,-?[0-9.]+$
radius_kmnumberNoSearch radius in kilometers.

Response 200: MarketplaceListingPage

marketplace.search: MarketplaceListingPage
FieldTypeRequiredDescription
dataarray of MarketplaceListingYesItems on this page, in the documented default order.
next_cursorstring | nullYesOpaque cursor for the next page; null on the last page.
{
  "data": [
    {
      "id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
      "org_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
      "title": "Stagehands for Harborfront Load-In",
      "role_type": "Crew",
      "role_code": "5000.50.01",
      "venue_locality": "Miami",
      "rate_type": "Day",
      "pay_min_minor": 32000,
      "pay_max_minor": 38000,
      "distance_km": 12.4,
      "org_name": "Northwind Live",
      "org_verified": true,
      "description": "Load-in and show calls for six weekends.",
      "cat_urid": "4000.01",
      "venue_name": "Harbor Lawn",
      "jurisdiction_id": "US-FL",
      "starts_on": "2026-10-08",
      "ends_on": "2026-10-08",
      "visibility": "Pool",
      "currency_code": "USD",
      "rate_on_request": false,
      "deadline_at": "2026-10-08T14:30:00Z",
      "minimum_age": 18,
      "opportunity_state": "Published",
      "position_count": 4
    }
  ],
  "next_cursor": null
}

Code samples

curl -X GET "$XOS_BASE_URL/marketplace/opportunities" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data } = await xos.marketplace.search();
response = xos.marketplace.search()
xos marketplace search