{
  "openapi": "3.0.1",
  "info": {
    "title": "Nebraska Contractor Registration Lookup & Leads Scraper (NDOL)",
    "description": "Look up or export every current Nebraska contractor registration from the Department of Labor (NDOL) — registration number, name, address and expiry, plus phone on request. Filter by service, county, city, ZIP, state or name.",
    "version": "0.0",
    "x-build-id": "tDdlw7RAbWN5XjP4P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapebench~nebraska-contractor-license-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapebench-nebraska-contractor-license-lookup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapebench~nebraska-contractor-license-lookup/runs": {
      "post": {
        "operationId": "runs-sync-scrapebench-nebraska-contractor-license-lookup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapebench~nebraska-contractor-license-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-scrapebench-nebraska-contractor-license-lookup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "service": {
            "title": "Service (NDOL category)",
            "type": "string",
            "description": "One of NDOL's 58 service categories (NAICS-based), by name or number: e.g. 'Roofing Contractors' or 19, 'electrical' (22), 'plumbing' (23 — plumbing, heating and air-conditioning). A word works when it matches exactly one category. Leave empty for every registered contractor. An unrecognised value is ignored with a log line; if nothing you gave is recognised, the run returns a free row saying so instead of the whole state."
          },
          "services": {
            "title": "Services (batch)",
            "type": "array",
            "description": "Several service categories in ONE run, e.g. 19 and 22. Combined with 'Service' if you fill both.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "county": {
            "title": "County",
            "type": "string",
            "description": "Nebraska county as NDOL records it for the registration, e.g. 'Douglas' or 'Lancaster County'. Matches Nebraska firms only. NDOL's county is the firm's own record and does not always match the city in its mailing address. An unrecognised county is ignored with a log line."
          },
          "counties": {
            "title": "Counties (batch)",
            "type": "array",
            "description": "Several Nebraska counties in ONE run. Combined with 'County' if you fill both.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Mailing-address city, exact match ignoring case and punctuation, e.g. 'Lincoln' (does not also match 'Lincolnville')."
          },
          "cities": {
            "title": "Cities (batch)",
            "type": "array",
            "description": "Several cities in ONE run. Combined with 'City' if you fill both.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "zip": {
            "title": "ZIP code",
            "type": "string",
            "description": "Mailing-address ZIP, 5 digits (a ZIP+4 is accepted and matched on its first 5)."
          },
          "zips": {
            "title": "ZIP codes (batch)",
            "type": "array",
            "description": "Several ZIPs in ONE run. Combined with 'ZIP code' if you fill both.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "state": {
            "title": "Mailing-address state",
            "type": "string",
            "description": "2-letter state of the firm's mailing address, e.g. 'IA' for Iowa firms registered to work in Nebraska, or 'NE'. Leave empty for every state. Ignored when a county is given (a county is always a Nebraska county)."
          },
          "states": {
            "title": "Mailing-address states (batch)",
            "type": "array",
            "description": "Several 2-letter states in ONE run. Combined with 'Mailing-address state' if you fill both.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "name": {
            "title": "Name contains",
            "type": "string",
            "description": "Text the firm's name contains (case-insensitive), e.g. 'ROOFING' or 'SMITH'. Both NDOL name indexes are searched — the listed (DBA) name and the corporation name — and matched_by says which one hit."
          },
          "names": {
            "title": "Names (batch)",
            "type": "array",
            "description": "Several name fragments in ONE run; a firm matching any of them is returned once. The run log says how many registrations each search returned.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "registrationNumber": {
            "title": "Registration number",
            "type": "string",
            "description": "Look up one registration by its full number, e.g. '33053-26' (the dash is optional)."
          },
          "registrationNumbers": {
            "title": "Registration numbers (batch)",
            "type": "array",
            "description": "Several full registration numbers in ONE run.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap on registrations returned for the whole run (a spend control). The full statewide registry is about 20,300 firms, so 100000 returns everything that matches. With several filter values the searches run in order and share this one cap.",
            "default": 500
          },
          "includePhone": {
            "title": "Add phone, email and business details",
            "type": "boolean",
            "description": "Off by default. NDOL publishes phone, email, corporation name, entity type, employee count and workers' comp status only on each firm's own page, so this fetches one extra page per row — about 15 rows a second measured 2026-10-07 (1,000 rows in 70 s), so ~35 seconds per 500 rows and roughly 25 minutes for the whole state. Rows are never held back for it: rows not enriched within the run's time budget say so in enrichment_status. No extra charge.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. The NDOL site answers direct requests; enable a proxy only if runs come back with a 'blocked' notice.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}