Skip to contents

Search Jobsuche listings

Usage

jobsuche_search(
  params = list(),
  safe = TRUE,
  refresh = FALSE,
  flatten = FALSE,
  flatten_mode = "json"
)

Arguments

params

Named list of query parameters:

was

Free-text job/keyword query (character).

wo

Location query (character).

berufsfeld

Occupational field filter (character).

page

Page index (integer).

size

Number of results per page (integer).

arbeitgeber

Employer filter (character).

veroeffentlichtseit

Only offers published within N days (integer).

zeitarbeit

Filter temporary-agency postings (TRUE/FALSE).

angebotsart

Offer type code(s), semicolon-separated (integer/character).

befristung

Contract duration code(s), semicolon-separated (integer/character).

arbeitszeit

Work time model code(s), semicolon-separated (character).

behinderung

Accessibility/disability filter (TRUE/FALSE).

corona

Only postings with corona flag (TRUE/FALSE).

umkreis

Radius in kilometers around wo (integer).

safe

Logical; if TRUE (default), apply rate-limiting and cache GET responses to tools::R_user_dir("bunddev", "cache").

refresh

Logical; if TRUE, ignore cached responses and re-fetch from the API (default FALSE).

flatten

Logical; if TRUE, simplify nested list columns according to flatten_mode. Default FALSE keeps list columns as-is.

flatten_mode

How to handle list columns when flatten = TRUE:

"drop"

Remove list columns entirely. Use when nested data is not needed.

"json"

Convert each list element to a JSON string. Preserves all data in a text-queryable format. This is the default.

"unnest"

Expand list columns into multiple rows via tidyr::unnest_longer(). Warning: this can significantly increase the number of rows.

Value

A tibble with one row per job listing:

hash_id

Posting hash id (character).

beruf

Job title/occupation (character).

refnr

Reference number (character).

arbeitgeber

Employer name (character).

aktuelle_veroeffentlichungsdatum

Published date/time text (character).

aktuelle_veroeffentlichungsdatum_time

Published timestamp as POSIXct in Europe/Berlin.

eintrittsdatum

Start date text (character).

eintrittsdatum_time

Start timestamp as POSIXct in Europe/Berlin.

arbeitsort_plz

Postal code (character).

arbeitsort_ort

City/locality (character).

arbeitsort_strasse

Street (character).

arbeitsort_region

Region/state (character).

arbeitsort_land

Country code/name (character).

arbeitsort_lat

Latitude (numeric).

arbeitsort_lon

Longitude (numeric).

modifikations_timestamp

Modification timestamp text (character).

modifikations_timestamp_time

Modification timestamp as POSIXct in Europe/Berlin.

page

Returned page number (character).

size

Returned page size (character).

max_ergebnisse

Total result count (character).

facetten

Facet metadata (list-column).

Details

The Jobsuche API provides access to job listings from the Bundesagentur fuer Arbeit. Authentication is required via an API key passed as X-API-Key. See https://jobsuche.api.bund.dev for the official API documentation.

Use bunddev_auth_set() to configure the key and bunddev_parameters() to discover supported query parameters.

See also

jobsuche_search_app() for the app endpoint, jobsuche_logo() to fetch employer logos, and bunddev_auth_set() for authentication.

Other Jobsuche: jobsuche_logo(), jobsuche_search_app()

Examples

if (FALSE) { # \dontrun{
Sys.setenv(JOBBOERSE_API_KEY = "jobboerse-jobsuche")
bunddev_auth_set("jobsuche", type = "api_key", env_var = "JOBBOERSE_API_KEY")
jobsuche_search(params = list(was = "data", size = 5), flatten = TRUE)
} # }