# NJ Civil Service Navigator - Full Documentation

> A comprehensive database of 5,958+ New Jersey government job specifications from the NJ Civil Service Commission. This resource provides searchable access to official job titles, requirements, salary information, and qualification criteria for all classified state and local government positions in New Jersey.

## Data Structure

### Job Specification Fields

Each job specification contains:

| Field | Description | Example |
|-------|-------------|---------|
| code | 5-digit specification code | "00056" |
| codeVariants | Alternative code formats | ["00056", "56"] |
| title | Official job title | "MEDICAL CONSULTANT" |
| variant | Title variant (if any) | null or "BILINGUAL" |
| jurisdiction | S (State), L (Local), or C (Common) | "S" |
| class_of_service | U (Unclassified), C (Competitive), N (Non-Competitive) | "U" |
| work_week | NL (Non-Limited) or hour count | "NL" |
| state_class_code | State classification code | "98" |
| local_class_code | Local classification code | null |
| salary_range | State salary range code | "P98" |
| sections | Parsed content sections | Object (see below) |
| searchable_text | Plain text for search | Full text content |
| snippet | Brief excerpt | First 200 characters |
| salary_meta | Computed salary data | { min_salary, max_salary } |
| education_level | Required education | "bachelors", "masters", "doctorate" |
| experience_years | Years of experience required | 3 |
| has_license_requirement | License needed | true/false |
| license_types | Types of licenses | ["driver", "professional"] |
| pension_system | Pension eligibility | "PERS", "PFRS", "TPAF" |
| revision_date | Last revision date | "2022-10-22" |
| familyId | Career family identifier | "accountant" |
| familyName | Career family name | "ACCOUNTANT" |
| level | Career level | "Senior", "Supervisor" |

### Sections Object

Each specification's `sections` field contains:

| Section Key | Description |
|-------------|-------------|
| DEFINITION | Core job description and scope |
| EXAMPLES_OF_WORK | Typical duties and responsibilities |
| REQUIREMENTS | Education, experience, and licensing |
| LICENSE | Professional licensing requirements (if applicable) |
| KNOWLEDGE_AND_ABILITIES | Required competencies and skills |
| NOTE | Additional information |

### Salary Ranges

New Jersey uses alphanumeric salary range codes:
- P## ranges: Professional positions (P01-P99)
- X## ranges: Executive positions
- A## ranges: Administrative positions
- R## ranges: Represented positions

Actual dollar amounts are published in the annual NJ salary schedule and computed in the `salary_meta` field when available.

### Jurisdiction Codes

| Code | Meaning |
|------|---------|
| S | State - Position exists only at state level |
| L | Local - Position exists only at local government level |
| C | Common - Position exists at both state and local levels |

### Classification Codes

| Code | Classification | Description |
|------|---------------|-------------|
| C | Competitive | Filled through competitive examination |
| U | Unclassified | Exempt from competitive examination |
| N | Non-Competitive | No competitive examination required |

## API Endpoints

All data is available as static JSON files. No authentication required.

### Index Endpoint

`GET /data/job_specs_index.json`

Returns metadata and search-optimized entries for all specifications:

```json
{
  "version": "1.0.0",
  "generated": "2026-01-19T17:39:07.046Z",
  "lastScraped": "2026-01-18T20:02:38.933Z",
  "count": 5958,
  "specs": [
    {
      "code": "00056",
      "title": "MEDICAL CONSULTANT",
      "jurisdiction": "S",
      "class_of_service": "U",
      "salary_range": "P98",
      "snippet": "Under the general supervision...",
      "education_level": "doctorate",
      "experience_years": 5,
      "hasLicense": true
    }
  ]
}
```

### Individual Specification

`GET /data/specs/{code}.json`

Returns full specification with parsed sections and complete content.

Example: `/data/specs/00056.json`

### Job Family Index

`GET /data/job_family_index.json`

Returns career family groupings with member codes and salary ranges.

### Search Index

`GET /data/search_index.json`

Pre-built Fuse.js search index for client-side search.

## Sample Job Specification

**Code 00056 - MEDICAL CONSULTANT**

- **Jurisdiction**: State
- **Classification**: Unclassified
- **Work Week**: Non-Limited
- **Salary Range**: P98

**Definition**:
Under the general supervision of a supervisory official in a state department, institution, or agency, reviews, evaluates and interprets medical information regarding physical impairments provided in Social Security Disability and SSI Disability claims; does other related duties as required.

**Requirements**:
A valid license to practice medicine in the State of New Jersey. Medical consultants must be licensed physicians (medical or osteopathic doctors), optometrists (for visual disorders only), podiatrists (for foot impairments only), or qualified speech-language pathologists (for speech or language impairments only).

## Civil Service Classification Reference

### Classification Codes

| Code | Name | Description |
|------|------|-------------|
| C | Competitive | Filled through civil service exam. Candidates ranked on eligibility list. Agencies must hire under the Rule of Three. Provides strongest job protections. |
| N | Non-Competitive | No exam required. Filled by meeting published qualifications (specific license, degree, or certification). Carries civil service protections including tenure rights. |
| U | Unclassified | Exempt from competitive exam and civil service tenure rules. Includes gubernatorial appointees, department heads, cabinet officials, and some licensed professionals. |

### ERG (Employee Relations Group) and Salary Code Reference

Every NJ state civil service position has a salary range code: `[ERG prefix][range number]`.

| ERG Prefix(es) | Schedule Name | Union | FY 2026 Range Structure |
|---------------|---------------|-------|------------------------|
| A, P, R, S, G | A-P-R-S | CWA | Ranges 1–45, 11 steps |
| M | Managerial | Unrepresented | Ranges 28–45, 9 steps |
| FA | State Law Enforcement | PBA-SLEU | Ranges 14–23, 11 steps |
| L | Corrections Officers | PBA | Ranges 14–24, 11 steps |
| 1 | Superior Officers (Corrections) | PBA | Ranges 23–27, 9 steps |
| 2 | Primary Level Supervisory (Corrections) | PBA | Ranges 21–24, 9 steps |
| 4A | Non-Correction Captains | PBA | Ranges 26–28, 9 steps |
| C, I, O | Crafts, Inspection & Operations | IFPTE | Ranges 1–35, 11 steps |
| H | Health Care & Rehabilitation | AFSCME | Ranges 1–30, 11 steps |
| T | State Troopers | STFA | Ranges 17–24, 11 steps |
| N | State Police NCO | NCOA | Ranges 22–25, 9 steps |
| 9 | State Police Superior Officers | STSOA | Ranges 24–30, 9 steps |
| &, ZR | Managers, DAGs | IBEW Local 30 | Varies, 9–11 steps |
| B, U | Judiciary | PANJ / JCAU | Ranges 1–35, 11 steps |

**Numeric ERG prefixes:** Codes `1` and `2` use numeric prefixes. Example: `221` = ERG 2 (Primary Level Supervisory), Range 21. `124` = ERG 1 (Superior Officers), Range 24.

FY 2026 salary data effective: July 1, 2025 – June 30, 2026. Full schedule: `/ai/salary-schedules.html`

## Civil Service Exam Reference

### Key Exam Facts (NJ Civil Service Commission)

| Topic | Answer |
|-------|--------|
| Passing score (written exam) | 70 out of 100 |
| Veterans' preference | +5 pts (veteran) or +10 pts (disabled veteran), applied to passing scores only |
| Eligibility list validity | 3 years from date of establishment |
| Hiring rule | Rule of Three — agencies choose from top 3 available candidates |
| Results timeline | Typically 8–12 weeks after exam |
| Application portal | jobs.nj.gov |

### Exam Types

- **Written multiple-choice** — 2–3 hours. Used for most administrative, professional, and technical titles.
- **Performance/practical** — 30–60 minutes. Used for clerical (typing) and trades (plumbing, electrical).
- **Training & Experience (T&E)** — Scored application review, no test day. Used for senior specialized titles.
- **Promotional** — Written or T&E, open to current permanent classified employees only.

### How to Apply

1. Create account at jobs.nj.gov
2. Find open announcement during filing period (3–4 weeks)
3. Meet qualifications by the filing deadline
4. Submit application and pay fee (or claim waiver)
5. Receive admission notice with date/location
6. Take exam; bring admission notice + photo ID
7. Receive score + eligibility list rank within 8–12 weeks
8. Wait for Rule of Three contact from hiring agency

Full exam guide: `/ai/exam-guide.html` | Interactive guide: `/civil-service-exam`

## New Pages Added (2025–2026)

| URL | Description |
|-----|-------------|
| `/appointments` | NJ government appointments vs. civil service; types of appointments; unclassified positions explained |
| `/non-competitive-guide` | Non-competitive hiring: no exam required, qualification-based, common NC categories, hiring process |
| `/civil-service-exam` | Full interactive exam guide: stages, scoring, prep tips, FAQ, pass/list/hire bridge |
| `/eligibility-lists` | Eligibility list mechanics, 3-year validity, Rule of Three, candidates' rights |
| `/public-safety-exams` | Parent hub for NJ public safety exams: police, corrections, parole (LEAB) and firefighter |
| `/firefighter-exam` | NJ open competitive firefighter exam (Fire Fighter, spec 01839): requirements, age limits, $35 fee, written exam + physical test; FAQPage + HowTo schema |
| `/firefighter-residency-preference` | Firefighter residency tiers, volunteer service credit (N.J.S.A. 40A:14-45), veterans preference, age rules; 72 paid-firefighter jurisdictions with residency preferences |
| `/firefighter-emt` | Dual Fire Fighter/EMT title (spec 07909): EMT certification, MICP/MICN equivalence |
| `/articles/how-to-become-a-firefighter-in-nj-2026` | How to become a NJ firefighter: 2026 exam, residency and volunteer credit, hiring process end to end |
| `/compensation-compendium` | FY 2026 salary lookup by ERG, salary band quicklinks, union cross-links |
| `/jobs/park-ranger` | Park ranger jobs in NJ: specs, career ladder, salary, exam requirements |
| `/jobs/forensic-scientist` | Forensic scientist jobs in NJ: specs, career ladder, salary |
| `/ai/salary-schedules.html` | Machine-readable salary schedules by ERG with Dataset schema |
| `/ai/exam-guide.html` | Machine-readable exam guide with FAQPage and HowTo schema |

## N.J.A.C. Title 4A Endpoint

New Jersey's civil service regulations in full, at `/regulations/*` and
`/data/njac-4a/*`.

### Index

```
GET /data/njac-4a/index.json
```

```json
{
  "pullDate": "2026-07-26",
  "currentThrough": "New Jersey Register, Vol. 58 No. 14, July 20, 2026",
  "sections": [
    { "citation": "4A:8-2.4", "slug": "4a-8-2-4", "heading": "Seniority",
      "status": "active", "chapter": 8, "subchapter": 2 }
  ]
}
```

### Individual section

```
GET /data/njac-4a/sections/{slug}.json
```

Slug form: `4A:8-2.4` becomes `4a-8-2-4`; `4A:6-1.21A` becomes `4a-6-1-21a`.

| Field | Meaning |
|---|---|
| `citation`, `citationFull` | `4A:8-2.4` and `N.J.A.C. 4A:8-2.4` |
| `heading` | Section heading as published |
| `status` | `active` or `reserved` |
| `subsections` | Recursive tree with `designator`, `anchor`, `level`, `text`, `children` |
| `bodyText` | Flattened rule text |
| `amendmentHistory` | `type`, `ruleNumber`, `effectiveDate`, `registerCitations`, `editorialOnly` |
| `caseNotes` | `caseName`, `citations`, `court`, `docketNumber`, `decidedDate`, `verificationTier` |
| `cites`, `citedBy` | Citation graph, both directions |
| `currentThrough` | Register issue the text is current through |
| `ingestedAt` | The date we pulled and reviewed it |

### Anchors

Subsection anchors are stable and hierarchical: `#a`, `#a-1`, `#h-3`. A citation
such as `4A:8-2.2(f)` resolves to `/regulations/4a-8-2-2#f`.

### Counts

- **Sections**: 296 (283 active, 13 reserved)
- **Chapters**: 10, **Subchapters**: 41, **Appendices**: 2 with content
- **Amendment events**: 791
- **Case notes**: 7,551
- **Cross-references**: 100% of inline Title 4A citations resolve exactly

### What is ours and what is the State's

The rule text, rule numbers, effective dates, New Jersey Register citations,
case names and reporter citations are the public record, reproduced.

The plain-language summaries, the explainers and the case summaries are written
by the NJ Civil Service Navigator editorial team and are labelled as such on
every page. Case summaries are written from the decision, never from a
publisher's note, and each links to a free public copy. A decision we could not
retrieve gets its citation and no summary.

This is an annotated mirror, not the official publication. The official source
is the New Jersey Civil Service Commission at
https://www.nj.gov/csc/about/regulations/.

## Usage Guidelines

This data is sourced from the official New Jersey Civil Service Commission and is provided for informational purposes. When citing job requirements or qualifications, please reference the official NJ CSC website at https://www.nj.gov/csc/ for the most current information.

### Data Freshness

- Data is scraped monthly from the NJ Civil Service Commission website
- The `lastScraped` timestamp in the index indicates the most recent update
- Individual specs include `revision_date` from the official source

### Attribution

When using this data, please attribute to:
- Source: NJ Civil Service Navigator (https://njcsnavigator.com)
- Original Data: New Jersey Civil Service Commission (https://www.nj.gov/csc/)

## Statistics

- **Total Specifications**: 5,958
- **State Positions**: 3,393
- **Local Positions**: 1,910
- **Common Positions**: 277
- **Job Families**: 431+

## Contact

- Website: https://njcsnavigator.com
- Author: Gavin Rozzi (https://www.gavinrozzi.com/)
- Repository: https://github.com/gavinrozzi/nj-civil-service
