# Violationtracker Goodjobsfirst — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search corporate violations and regulatory penalties across companies, industries, and agencies to research misconduct records and enforcement actions. Get detailed information about specific violations, parent company compliance histories, and regulatory agency enforcement patterns.

**Category:** Government & Public Data | **Website:** [violationtracker.goodjobsfirst.org/](https://violationtracker.goodjobsfirst.org/) | **Docs:** [parse.bot/marketplace/5be00420-4477-4036-9a76-87cf121072b4/violationtracker-goodjobsfirst-org-api](https://parse.bot/marketplace/5be00420-4477-4036-9a76-87cf121072b4/violationtracker-goodjobsfirst-org-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get agency summary

Retrieves summary data for a regulatory agency including penalty totals, top 10 parent companies by penalty, and recent major violations. The agency_code is available from list_agencies.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `agency_code` | string | Yes | Agency code (e.g. 'EPA', 'OSHA', 'SEC'). Available from list_agencies endpoint. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/get-agency-summary \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"agency_code":"<string>"}'
```

### Get parent company summary

Retrieves a comprehensive summary for a parent company including penalty totals, top offense groups, top offense types, and individual violation records. The parent_id slug is available from list_parents or from search_violations results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `parent_id` | string | Yes | Parent company ID slug (e.g. 'exxon-mobil', '3m-company', 'bp'). Available from list_parents endpoint. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/get-parent-company-summary \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"parent_id":"<string>"}'
```

### Get violation detail

Fetches the full record for a single corporate violation by its ID slug. Returns structured fields including company name, penalty, year, offense description, agency, case details, and parent company information. The violation_id slug is available from search_violations results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `violation_id` | string | Yes | Violation record ID slug (e.g. 'ak-exxon-corporation'). Available from search_violations results. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/get-violation-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"violation_id":"<string>"}'
```

### List agencies

Returns the complete catalog of federal regulatory agencies tracked in Violation Tracker. Each entry provides the full agency name and its code used as the agency_code parameter in get_agency_summary and search_violations.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/list-agencies \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### List parents

Returns the complete catalog of parent companies tracked in Violation Tracker. Each entry provides a display name and a URL slug (value) used as the parent_id parameter in get_parent_company_summary. The full list contains 3400+ entries returned in a single response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/list-parents \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Search violations

Full-text search over corporate violation records with filters on company, agency, year, penalty amount, offense group, and industry. Returns paginated results sorted by penalty amount descending by default. Each result includes the violation ID slug for drilling into full details via get_violation_detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `action_type` | string | No | Action type filter. |
| `agency_code` | string | No | Agency code filter (e.g. 'EPA', 'OSHA', 'SEC'). |
| `case_type` | string | No | Case type filter. |
| `company` | string | No | Company name to search for. |
| `company_op` | string | No | Company name match operator. |
| `federal_agency` | string | No | Federal agency filter (comma-separated for multiple). |
| `level_of_government` | string | No | Level of government filter. |
| `major_industry` | string | No | Major industry filter (comma-separated for multiple). |
| `offense_group` | string | No | Offense group filter. |
| `offense_type` | string | No | Offense type filter. |
| `order` | string | No | Sort order. |
| `page` | integer | No | Page number for pagination (1-based). |
| `parent_name` | string | No | Parent company name filter. |
| `parent_op` | string | No | Parent name match operator. |
| `pen_op` | string | No | Penalty comparison operator. |
| `penalty_amount` | string | No | Minimum penalty amount. |
| `presidential_administration` | string | No | Presidential administration filter. |
| `sort` | string | No | Sort field. |
| `state_local_agency` | string | No | State/local agency filter (comma-separated for multiple). |
| `year` | string | No | Year filter (comma-separated for multiple, e.g. '2020,2021,2022'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/violationtracker-goodjobsfirst/search-violations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"action_type":"<string>","agency_code":"<string>","case_type":"<string>","company":"<string>","company_op":"<string>","federal_agency":"<string>","level_of_government":"<string>","major_industry":"<string>","offense_group":"<string>","offense_type":"<string>","order":"<string>","page":"<integer>","parent_name":"<string>","parent_op":"<string>","pen_op":"<string>","penalty_amount":"<string>","presidential_administration":"<string>","sort":"<string>","state_local_agency":"<string>","year":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.