Safety Consultants Supply — US Directory by State + Specialty
Pricing
Pay per usage
Safety Consultants Supply — US Directory by State + Specialty
US safety consulting supply directory. Two sources: OSHA's 52 state on-site consultation programs (free gov help) + web search across state × specialty (private firms). ~1,500-2,000 unique firms after dedup. For people routing OSHA-cited demand to safety supply.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Saad Belcaid
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Safety Consultants Supply — Routable Inventory by Incident Type
Built by Saad Belcaid.
US safety-consulting supply directory classified by which OSHA incident types each consultant is routable for. Pairs with osha-violations-demand so cited companies route to the right specialist.
This is not a contact list. This is routable supply inventory — every row tells you which OSHA incidents this consultant can help with, scored 0–3 by fit confidence, with a one-sentence thesis.
What's in the dataset
| Field | Why it matters |
|---|---|
matching_incident_types[] | Maps directly to the demand-side incident_types taxonomy. Trench-collapse demand → fall-protection / trench-safety supply. |
supply_fit_score | 0 = generalist with no specialist signal, 1 = found in safety-consultant search, 2 = strong match (name/domain hint), 3 = explicit specialist (e.g. "National Trench Safety") |
supply_thesis | One-sentence routing justification: who this firm is, why they fit |
is_state_program | True for OSHA's 52 free state on-site consultation programs |
specialties[] | Broad service categories detected from the search query that surfaced them |
Two sources
- OSHA's State On-Site Consultation Directory — 30-50 state-level programs (50 states + DC + territories), federally funded, FREE help to small/mid employers. The default routing target for SMB-cited companies who can't afford private consultants.
- Startpage web search — runs queries across 50 states × 14 safety specialties (~700 queries) to surface private safety consulting firms. Each result classified for incident-type fit.
After cross-source dedup: ~1,500-2,500 unique safety consultants, every one labeled with which OSHA incidents they're routable for.
Incident-type taxonomy (matches demand scraper)
The matching_incident_types[] field uses the SAME taxonomy as the OSHA demand scraper, so pairing in Connector OS Station is direct:
| Incident type | When to route here |
|---|---|
fall | Fall-protection consultants |
trench-collapse | Trench/excavation safety specialists |
explosion | Process safety + fire + hazmat |
combustible-dust | Dust hazard analysis (NFPA 652/654) |
confined-space | Confined-space rescue + permit-required programs |
chemical-exposure | HazCom / HAZWOPER consultants |
machine-guarding | Machine safety + amputation prevention |
lockout-tagout | Energy isolation procedure consultants |
electrocution | NFPA 70E / arc flash consultants |
industrial-hygiene | CIH-credentialed firms (silica, asbestos, noise) |
osha-abatement | OSHA citation defense + remediation |
repeat-violations / willful-violations | Workplace safety remediation specialists |
general-osha | Generalist OSHA compliance consultants |
How fit scoring works
| Score | What it means |
|---|---|
| 3 | Explicit specialist — domain or firm name contains the specialty (e.g. ntsafety.com / National Trench Safety) AND found via a specialty-specific search |
| 2 | Strong match — domain or name has incident keywords; firm clearly does this work |
| 1 | Found in safety-consultant search but no specialist signal — generalist fit |
| 0 | No clear safety-consulting signal (filtered out by default) |
Filter minFitScore: 2 post-scrape if you want only the high-confidence specialists.
Filter recipes
"Route a trench-collapse OSHA citation"
After scrape, filter by:
matching_incident_types contains "trench-collapse"state matches the demand company's statesort by supply_fit_score DESC
"Route a willful-violations citation"
matching_incident_types contains "osha-abatement" OR "workplace-safety-remediation"supply_fit_score >= 2
"Just the free state programs (for SMB demand)"
is_state_program = truestate = demand company's state
Run-time filter — only emit explicit specialists
minFitScore: 2
Run-time filter — only emit firms that match specific incident types
matchingIncidentTypes: ["trench-collapse", "combustible-dust", "industrial-hygiene"]
Architecture
- Apify Actor, TypeScript, pure HTTP (no Playwright)
- Two sources fetched, cross-source domain-deduped
- Cross-query enrichment: when the same firm is found via multiple specialty searches (e.g. shows up in both "OSHA consultant Texas" AND "industrial hygienist Texas"), the row gets enriched with both incidents → higher fit score
- Polite delay between Startpage queries (default 800ms)
- Default state coverage = all 50 + DC + territories
Costs
- OSHA: free (US Government)
- Startpage: free
- Apify compute: ~10–15 min per full run × 256 MB ≈ trivial CU
Connector OS Station integration
Pipe both datasets into Station:
- Demand:
osha-violations-demand→ cited companies with incident_types[] - Supply:
safety-consultants-supply→ consultants with matching_incident_types[]
Station's I Layer does the routing match. The supply_thesis field becomes the operator's CRM note — already pre-written.
Built by Saad Belcaid. OSHA data is US Government public record. Web search via Startpage (Google proxy, no API key needed).