{
  "openapi": "3.0.1",
  "info": {
    "title": "Arkansas Contractor License Lookup & Verify (ACLB)",
    "description": "Verify any Arkansas contractor by name or license number — validity, type, expiration, city, county & address — straight from the official ACLB registry.",
    "version": "0.0",
    "x-build-id": "QTmQTVh5IwlBZ3lml"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapebench~arkansas-contractor-license-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapebench-arkansas-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~arkansas-contractor-license-lookup/runs": {
      "post": {
        "operationId": "runs-sync-scrapebench-arkansas-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~arkansas-contractor-license-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-scrapebench-arkansas-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "auto",
              "lookup",
              "export"
            ],
            "type": "string",
            "description": "auto (default): a licence number or name below runs a lookup; a county or trade runs the county x trade export. lookup: names and numbers only. export: county / trade search, names ignored.",
            "default": "auto"
          },
          "query": {
            "title": "Search query",
            "minLength": 1,
            "type": "string",
            "description": "An Arkansas contractor/DBA name (e.g. 'CONSTRUCTION') OR an ACLB license number. An all-digit query is looked up as a license number (enter the first six digits); anything else is searched against the ACLB business/DBA name index. Results are deduped by license number."
          },
          "queries": {
            "title": "Search query (batch)",
            "type": "array",
            "description": "Look up many in ONE run instead of starting a run per lookup. Takes the same values as 'Search query'. Combined with 'Search query' if you fill both, and duplicates are removed. Billing is unchanged: you are charged per record returned, not per entry submitted.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Cap on the number of records returned PER ENTRY, not per run — so a batch cannot silently return only the first 50 rows overall and read as 'the rest don't exist'. This is a lookup, not a bulk export — defaults to 50. (The ACLB server itself returns up to 5000 rows for a broad name.) Unset: 50 per lookup query; every match per export search."
          },
          "county": {
            "title": "County",
            "type": "string",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): Arkansas county, e.g. 'Pulaski', 'Benton County', 'saint francis'. Case, punctuation and a trailing 'County' do not matter. Leave it empty with a trade set to search all of Arkansas. If it is not an Arkansas county, the run returns the free county and trade lists instead of failing."
          },
          "counties": {
            "title": "Counties (batch)",
            "type": "array",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): Several counties in ONE run, e.g. Pulaski and Faulkner and Saline. Combined with 'County' if you fill both.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "trade": {
            "title": "Trade",
            "type": "string",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): An ACLB trade (specialty or classification), by name or code, e.g. 'Roofing', 'Plumbing', 'Residential Builder', 's_1899'. A word from the name works too: 'roof' finds Roofing but not Fireproofing. Leave it empty to get every trade in the county."
          },
          "trades": {
            "title": "Trades (batch)",
            "type": "array",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): Several trades in ONE run, e.g. Roofing and Plumbing and Concrete. Combined with 'Trade' if you fill both. Every trade is searched in every county, and a contractor holding two of them is returned (and billed) once, not twice.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "validOnly": {
            "title": "Valid licences only",
            "type": "boolean",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): Return only contractors whose licence ACLB lists as valid (a few show 'Call ACLB to confirm'). Turn off to include expired and invalid licences too. Unset = on."
          },
          "workType": {
            "title": "Work type",
            "enum": [
              "all",
              "commercial",
              "residential"
            ],
            "type": "string",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): Commercial licences, residential licences, or both. Unset = all."
          },
          "listOptionsOnly": {
            "title": "Discovery Mode: list counties and trades only",
            "type": "boolean",
            "description": "Export by county and trade (ACLB's advanced search, with email from ACLB's roster): If true, skip the scrape and return the 75 Arkansas counties plus every trade the Arkansas Contractors Licensing Board (ACLB) licenses, with its code. Free, not charged. Use it to find the exact trade name before a real run.",
            "default": false
          },
          "licenseTypes": {
            "title": "Licence types (export)",
            "type": "array",
            "description": "Same as Trades: ACLB specialty / classification names or codes, e.g. 'Roofing', 's_1899'.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Statuses",
            "type": "array",
            "description": "active / valid (valid or extended), invalid, call (ACLB wants a phone call to confirm), or all. Filters lookups and exports; on an export, 'active' alone uses ACLB's own valid-only filter.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Status",
            "type": "string",
            "description": "One status; same as Statuses."
          },
          "expiresAfter": {
            "title": "Expires on or after",
            "type": "string",
            "description": "Only licences expiring on or after this date (YYYY-MM-DD). With 'Expires on or before' it lists licences due for renewal in a window. Works on exports and lookups."
          },
          "expiresBefore": {
            "title": "Expires on or before",
            "type": "string",
            "description": "Only licences expiring on or before this date (YYYY-MM-DD)."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. The ACLB search is reachable directly (HTTP-only, no anti-bot); enable a proxy only if a run is blocked.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}