# NJ Civil Service Navigator

> A comprehensive database of 3,229+ New Jersey government job specifications, including job titles, requirements, salary ranges, and qualifications. Updated monthly from official NJ Civil Service Commission data.

This resource helps job seekers understand NJ government positions, HR professionals draft job postings, and researchers analyze public sector employment patterns.

## Core Data Endpoints

### JSON Data Files

- [Job Specifications Index](/data/job_specs_index.json): Complete index of all 3,229+ job specs with metadata
  - Fields: code, title, jurisdiction, class_of_service, work_week, salary_range, salary_meta, erg_union, education_level, experience_years, familyId
- [Job Family Index](/data/job_family_index.json): Career family groupings with salary ranges and related positions
- [Search Index](/data/search_index.json): Pre-built Fuse.js search index for client-side search
- [Payroll Statistics](/data/payroll/current.json): Real employee counts and salary distributions by title

### Individual Job Specifications

Access individual specifications at `/data/specs/{code}.json` where `{code}` is the 5-digit job code (e.g., `/data/specs/00056.json`).

Each specification includes:
- Job title, code, and variant
- Full description with structured sections (Definition, Examples of Work, Requirements, Knowledge & Abilities, License)
- Jurisdiction: State (S), Local (L), Common (C)
- Classification: Competitive (C), Unclassified (U), Non-Competitive (N)
- Salary range code and computed min/max values
- Education level, experience years, license requirements
- ERG (Employee Relations Group) and associated union

---

## Structured Data (Schema.org)

All pages include JSON-LD structured data for search engine rich results and AI comprehension.

### Job Specification Pages (`/spec/{code}`)

**Schema Types:** JobPosting, BreadcrumbList

```json
{
  "@type": "JobPosting",
  "title": "ACCOUNTANT",
  "identifier": { "value": "00001" },
  "hiringOrganization": { "@type": "GovernmentOrganization", "name": "State of New Jersey" },
  "baseSalary": { "minValue": 55000, "maxValue": 95000, "currency": "USD", "unitText": "YEAR" },
  "employmentType": "FULL_TIME",
  "directApply": false,
  "industry": "Government Administration",
  "responsibilities": "...",
  "qualifications": "...",
  "sameAs": "https://info.csc.state.nj.us/TitleSpec.aspx?TitleCode=00001"
}
```

### Job Family Pages (`/family/{familyId}`)

**Schema Types:** Occupation, BreadcrumbList

```json
{
  "@type": "Occupation",
  "name": "Accountant",
  "occupationLocation": { "@type": "State", "name": "New Jersey" },
  "estimatedSalary": { "minValue": 55000, "maxValue": 120000, "currency": "USD" },
  "educationRequirements": { "credentialCategory": "bachelor degree" },
  "experienceRequirements": { "monthsOfExperience": 24 },
  "qualifications": "..."
}
```

### Agency Pages (`/agency/{slug}`)

**Schema Types:** GovernmentOrganization, BreadcrumbList

```json
{
  "@type": "GovernmentOrganization",
  "name": "Department of Corrections",
  "parentOrganization": { "@type": "GovernmentOrganization", "name": "State of New Jersey" },
  "numberOfEmployees": { "value": 9500 },
  "address": { "addressRegion": "NJ", "addressCountry": "US" }
}
```

### Unions Page (`/unions`)

**Schema Types:** LaborOrganization[], FAQPage, BreadcrumbList

```json
{
  "@type": "LaborOrganization",
  "name": "Communications Workers of America",
  "alternateName": "CWA",
  "numberOfEmployees": { "value": "35,000+ state workers" },
  "url": "https://cwanj.org/"
}
```

17 unions documented with ERG codes, contract periods, and resources.

### Hiring Process (`/hiring-process`)

**Schema Types:** HowTo, FAQPage, BreadcrumbList

```json
{
  "@type": "HowTo",
  "name": "How to Apply for NJ Civil Service Jobs",
  "totalTime": "P60D",
  "step": [
    { "name": "Search for Open Examinations", "text": "..." },
    { "name": "Review Job Specifications", "text": "..." },
    { "name": "Submit Application", "text": "..." },
    ...
  ],
  "tool": ["DPF-44 Application Form", "Official Transcripts", "Professional Licenses"]
}
```

### Analytics Page (`/analytics`)

**Schema Types:** Dataset, BreadcrumbList

```json
{
  "@type": "Dataset",
  "name": "NJ State Workforce Analytics",
  "description": "Comprehensive workforce analytics from NJ state payroll data",
  "provider": { "@type": "GovernmentOrganization", "name": "State of New Jersey" },
  "distribution": [{ "encodingFormat": "application/json", "contentUrl": "/data/payroll/current.json" }],
  "license": "https://opendatacommons.org/licenses/by/1-0/"
}
```

### Glossary Page (`/glossary`)

**Schema Types:** DefinedTermSet, BreadcrumbList

```json
{
  "@type": "DefinedTermSet",
  "name": "NJ Civil Service Glossary",
  "hasDefinedTerm": [
    { "@type": "DefinedTerm", "name": "Competitive Service", "description": "..." },
    { "@type": "DefinedTerm", "name": "Rule of Three", "description": "..." },
    ...
  ]
}
```

40+ civil service terms defined.

### Spec Changes Page (`/changes`)

**Schema Types:** DataFeed, BreadcrumbList

```json
{
  "@type": "DataFeed",
  "name": "NJ Civil Service Specification Updates",
  "dataFeedElement": [
    { "@type": "DataFeedItem", "dateCreated": "2026-03-15", "item": { "title": "...", "identifier": "..." } }
  ]
}
```

### Browse Pages (`/families`, `/agencies`)

**Schema Types:** ItemList, CollectionPage, BreadcrumbList

```json
{
  "@type": "CollectionPage",
  "name": "NJ Civil Service Job Families",
  "mainEntity": {
    "@type": "ItemList",
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "item": { "@type": "Occupation", "name": "Accountant", "url": "/family/accountant" } }
    ]
  }
}
```

### Classification & Jurisdiction Hubs

**Schema Types:** CollectionPage, FAQPage, BreadcrumbList

Hub pages at `/classification/competitive`, `/jurisdiction/state`, etc. include FAQPage schema with common questions.

---

## Key Pages for AI Queries

### For Job Seekers
- `/search` - Full-text search across all 3,229+ specifications
- `/hiring-process` - Step-by-step guide to civil service hiring
- `/applicant-tools` - Resume matching and qualification checkers
- `/unions` - Find your union by ERG code
- `/families` - Browse career progression paths

### For Researchers
- `/analytics` - Workforce statistics and dashboards
- `/data-sources` - Official data provenance
- `/changes` - Track specification updates over time

### For HR Professionals
- `/classification/competitive` - Exam-required positions
- `/classification/unclassified` - Appointed positions
- `/glossary` - Official civil service terminology

---

## Updates & Feeds

- [RSS Feed](/feed.xml): Recent specification changes
- [Atom Feed](/feed.atom): Alternative feed format
- [Changes Page](/changes): Visual timeline of updates
- [Changelog JSON](/data/spec-changelog.json): Machine-readable change history

## Data Freshness

- Job specifications: Scraped monthly from NJ CSC
- Payroll data: Quarterly from NJ Open Data
- Salary schedules: FY2026 Compensation Compendium
- Last updated timestamp in `/data/job_specs_index.json` metadata

## Contact

Site maintained by Gavin Rozzi. Project details at [/about](/about).
