FastDOL Sitemap API

The Sitemap API from FastDOL — 1 operation(s) for sitemap.

OpenAPI Specification

fastdol-sitemap-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: FastDOL Auth Sitemap API
  version: '1.0'
  description: FastDOL aggregates federal workplace enforcement records on 2.3M US employers across 16 federal agencies — OSHA, WHD, MSHA, EPA ECHO, NLRB, FMCSA, OFLC, BLS SOII, SAM.gov, CMS, USAspending, CPSC, NHTSA, SEC, and the UVA Corporate Prosecution Registry. Query inspections, violations, penalties, wage theft cases, severe injury reports, recalls, and federal contract awards via a single, normalized JSON API.
  contact:
    name: FastDOL Support
    email: ben@fastdol.com
    url: https://fastdol.com/enterprise
  termsOfService: https://fastdol.com/terms
servers:
- url: https://api.fastdol.com
  description: FastDOL production API
tags:
- name: Sitemap
paths:
  /v1/sitemap/employers:
    get:
      summary: FastDOL Sitemap Employers
      description: 'Return employer IDs for sitemap generation with pagination. Not metered.


        Requires the dedicated ``sitemap:read`` scope — intentionally NOT in the

        free-tier default scopes. The only legitimate caller is the Next.js

        server generating sitemap shards for SEO; that route uses DEMO_API_KEY

        whose scopes must include ''sitemap:read''. Free customer keys cannot

        enumerate the entire dataset via this endpoint.


        Pagination: use offset/limit to page through all employers.

        Returns total_count so the caller knows how many pages to request —

        the count reflects the indexable_only filter when set.'
      operationId: sitemap_employers_v1_sitemap_employers_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 50000
          minimum: 1
          default: 50000
          title: Limit
        example: 20
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
        example: 0
      - name: indexable_only
        in: query
        required: false
        schema:
          type: boolean
          description: When true, return only employers with at least one enforcement signal across any aggregated source. Used by the Next.js sitemap generator so Google isn't asked to crawl thin templated profiles that the page itself noindex's anyway.
          default: false
          title: Indexable Only
        description: When true, return only employers with at least one enforcement signal across any aggregated source. Used by the Next.js sitemap generator so Google isn't asked to crawl thin templated profiles that the page itself noindex's anyway.
        example: false
      - name: X-Api-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
        example: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
              examples:
                SitemapEmployersV1SitemapEmployersGet200Example:
                  summary: Default SitemapEmployersV1SitemapEmployersGet 200 response
                  x-microcks-default: true
                  value: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
              examples:
                SitemapEmployersV1SitemapEmployersGet422Example:
                  summary: Default SitemapEmployersV1SitemapEmployersGet 422 response
                  x-microcks-default: true
                  value:
                    detail:
                    - loc:
                      - string
                      msg: string
                      type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Sitemap
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
          example: string
        type:
          type: string
          title: Error Type
          example: string
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError