Skip to main content
GET
/
api
/
data
/
jobs
List job openings
curl --request GET \
  --url https://api-next.dealroom.co/api/data/jobs \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": 8765432,
      "entity": {
        "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "name": "Example Startup"
      },
      "title": "Senior Backend Engineer",
      "url": "https://jobs.example.com/senior-backend-engineer",
      "source": "linkedin",
      "job_type": "engineering",
      "formatted_location": "Berlin, Germany",
      "post_language": "en",
      "latitude": 52.52,
      "longitude": 13.405,
      "date_posted": "2024-06-15T00:00:00.000Z",
      "city_unique_id": 118871,
      "state_unique_id": 8205,
      "country_unique_id": 2282,
      "continent_unique_id": 64,
      "city_region_unique_ids": [
        8205
      ]
    }
  ],
  "page": {
    "limit": 123,
    "offset": 123,
    "next_cursor": "<string>",
    "prev_cursor": "<string>",
    "total": 123,
    "capped": true,
    "ecosystem": "<string>"
  },
  "currency": "<string>"
}

Authorizations

Authorization
string
header
required

OAuth2 client-credentials flow against the Dealroom Auth0 tenant. Use the client_id / client_secret from a Programmatic API key. Tokens are valid for 24h — Swagger UI will reuse the same token across operations.

Query Parameters

filter
string

Filter expression for job openings.

Examples:

  • Single: source[eq]:linkedin
  • AND: and(entity_id[eq]:345d1ab6-33df-4759-9e17-0d0c0ec9ab1c,date_posted[gte]:2024-01-01T00:00:00Z)
  • OR: or(country_id[eq]:2282,country_id[eq]:93)

Operators: eq, neq, gte, lte, in_any, nin_any Default ref: 'jobs'

Example:

"and(entity_id[eq]:345d1ab6-33df-4759-9e17-0d0c0ec9ab1c,date_posted[gte]:2024-01-01T00:00:00Z)"

limit
integer<int32>
default:25

Number of results to return (1-2000, default 25)

Required range: 1 <= x <= 2000
Example:

25

offset
integer<int32>
default:0

Number of results to skip before returning data. Combine with limit for offset-based pagination.

Required range: x >= 0
Example:

0

cursor
string

Opaque cursor token from a previous response's page.next_cursor or page.prev_cursor. Round-trip it as-is — do not decode or modify.

Example:

"eyJ2IjoxLCJkIjoibmV4dCJ9"

sort
string

Sort by one or more keys. Prefix with - for descending order; comma-separated for multi-key sorts.

Pattern: ^-?[\w,]+$
Example:

"-date_posted"

include_total
boolean

Pass true to include page.total (the matching record count) in the response. Default omits the total to avoid a count query.

Example:

true

currency
string

ISO 4217 currency code for monetary field conversion. Defaults to USD.

Example:

"EUR"

Response

List of job openings

data
object[]
required
page
object
required
currency
string
required