Back to Software
Job Postings
Job postings scraped from xe.gr.
This dataset contains 5,093 job postings collected from xe.gr, one of Greece’s largest employment portals, during January and February 2025. Data was gathered using the R programming language and the rvest web scraping library.
Since version 1.3 a secondary classification table is included, produced by an LLM via the ellmer package, which flags each listing for potential age, gender, appearance, or racial discrimination in the job description text.
Tables
| Table | Contents | Rows × columns |
|---|---|---|
job-posts The job postings | The job postings | 5,093 × 8 |
llm_classification LLM classification of each posting | LLM classification of each posting | 5,093 × 6 |
job-posts
5,093 × 8One row per posting, with the fields as they appear on xe.gr.
| Column | Type | Description |
|---|---|---|
spc Qualitative | Qualitative | Occupation / job title |
type Qualitative | Qualitative | Employment terms (full-time, part-time, …) |
wage Mixed | Mixed | Salary or salary range |
loc Qualitative | Qualitative | Location |
exp Ordinal | Ordinal | Required work experience |
descr Qualitative | Qualitative | Full job listing text |
p_date Qualitative | Qualitative | Publication date |
link Qualitative | Qualitative | URL of the original listing |
llm_classification
5,093 × 6Each posting classified by an LLM (ellmer package) for possible discrimination in the text.
| Column | Type | Description |
|---|---|---|
has_age_discrimination Logical | Logical | Mentions age |
has_gender_discrimination Logical | Logical | Mentions gender |
has_appearance_discrimination Logical | Logical | Mentions appearance |
has_racial_discrimination Logical | Logical | Mentions race or ethnicity |
is_policy_related Logical | Logical | Violates the platform's terms |
reasoning Qualitative | Qualitative | Reasoning behind the classification |
Load in R
base <- "https://github.com/stesiam/scraping-job-postings-xe/releases/download/v1.3/"
jobs <- readr::read_csv(paste0(base, "job-posts.csv"))
llm <- readr::read_csv(paste0(base, "llm_classification.csv"))