NewSearch millions of jobs from your AI agent with MCP
Glossary·Data

Employment Type

Definition

Employment type is the field on a job posting that records the kind of working relationship an opening offers - full-time, part-time, contract, temporary, or internship - using a small, fixed set of values so jobs can be filtered and compared across sources.

Also called: types of employment, employment types, work arrangement type.

Key points

  • Employment type records the working relationship a job offers - full-time, part-time, contract, temporary, internship - independent of the role's title.
  • It is modeled as a small controlled enum, not free text, so jobs can be filtered and compared consistently.
  • schema.org JobPosting defines employmentType with fixed values like FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, and INTERN, and a posting may carry more than one.
  • Source wording is messy ('Full Time', 'Permanent', 'FT'), so the field is only useful once normalized to one set of values across sources.

What employment type means

Employment type describes the nature of the working relationship a job offers, separate from the role itself. A 'Software Engineer' opening can be full-time, a six-month contract, or a summer internship - same title, very different commitment, pay structure, and benefits. The employment type is the field that captures that distinction, and it is one of the first things a candidate filters on when scanning a list of jobs.

Because it answers a yes-or-no-style question for each posting - is this permanent, temporary, contract, and so on - employment type is almost always modeled as a controlled value rather than free text. A small fixed set of allowed values is what lets a job board show a clean 'Full-time / Part-time / Contract' filter instead of a thousand differently-worded phrases.

The canonical types of employment

Most job data converges on five core types. Full-time is a permanent role at a standard weekly hour count, usually with benefits. Part-time is a permanent role at reduced hours. Contract (also called contractor) is a fixed-term engagement, often through a staffing agency or as an independent contractor, where the worker is not a permanent employee. Temporary is short-term work with a defined end, frequently to cover a gap or a busy season. Internship is a time-boxed, often early-career or student role focused on training.

Beyond the core five, several variants show up in the wild. Freelance overlaps heavily with contract but implies the worker sets their own terms and serves multiple clients. Seasonal is a recurring temporary type tied to a time of year, such as retail at the holidays. Apprenticeship is a structured training role combining paid work with formal instruction, common in trades. Volunteer and per-diem roles round out the long tail. A practical schema usually maps these variants back onto the core types or carries them as a small additional enum value.

Employment type in job-posting data

On a structured job posting, this lives in an employmentType field. schema.org's JobPosting type defines it as an enumeration, and Google's job-posting guidelines accept a fixed list of values - FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, and OTHER - written in that uppercase, underscored form in the page's JSON-LD. A single posting may even list more than one value, for example a role advertised as either full-time or contract.

JobsPipe returns employmentType as a normalized field on every job it serves, mapping each source's own wording onto one consistent set of values. That matters because the raw inputs are messy - one ATS writes 'Full Time', another 'Permanent', a board writes 'FT', and a careers page may bury it in the description with no structured value at all. Normalizing all of that to one enum is part of what turns scattered postings into queryable data.

Why employment type matters for filtering

Employment type is one of the highest-value filters in any job search, because it maps directly to what a candidate can accept - a student wants internships, a contractor wants contract roles, someone with caregiving constraints wants part-time. If the field is inconsistent or missing, those filters either return nothing or quietly hide matching jobs, which is a worse failure than showing too many.

It is just as important downstream of search. Labor-market analytics lean on employment type to track the contract-versus-permanent mix, the volume of seasonal hiring, or the share of internships a company posts. Matching and recommendation systems use it as a hard constraint - never surface a full-time-only candidate a temp gig. For all of these, the value of the field depends entirely on it being normalized the same way across every source.

FAQ

What are the main types of employment?+

The five most common are full-time, part-time, contract (or contractor), temporary, and internship. Freelance, seasonal, apprenticeship, volunteer, and per-diem are further variants, but most job data maps them back onto the core set so they can be filtered cleanly.

What are the schema.org employmentType values?+

schema.org's JobPosting type and Google's guidelines accept FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, and OTHER, written in uppercase with underscores in the page's JSON-LD. A single posting can list more than one value when a role is open to several arrangements.

What is the difference between contract and temporary employment?+

Both are non-permanent, but the emphasis differs. Contract work is a fixed-term engagement defined by a contract, often as an independent contractor or through an agency, and can run for many months. Temporary work stresses the short duration and a defined end - covering a leave or a seasonal peak. In schema.org terms, contract maps to CONTRACTOR and temporary to TEMPORARY.

Why is employment type missing or inconsistent across job sources?+

Because each source records it differently. One applicant tracking system writes 'Full Time', another 'Permanent', a job board writes 'FT', and some careers pages only mention it in the description with no structured value. A jobs-data API earns its keep here by normalizing all of those inputs to one consistent employmentType field.

JobsPipe is the jobs-data API behind this glossary - 30+ sources, one schema, 5,000 requests/month free.

Get a free API key

Related