{
  "openapi": "3.0.1",
  "info": {
    "title": "Florida Contractor Directory & Leads Scraper",
    "description": "Search official Florida DBPR construction licenses by contractor type, status, name, license number, city, county, and public mailing address. Verified free-plan runs return at most five records; paid and agentic-paid runs can request more.",
    "version": "1.0",
    "x-build-id": "o9mmqBGTGLpAfi6bb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~florida-dbpr-contractor-directory/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-florida-dbpr-contractor-directory",
        "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/muhammadafzal~florida-dbpr-contractor-directory/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-florida-dbpr-contractor-directory",
        "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/muhammadafzal~florida-dbpr-contractor-directory/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-florida-dbpr-contractor-directory",
        "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": {
          "searchTerms": {
            "title": "Name or business keywords",
            "maxItems": 20,
            "type": "array",
            "description": "Use this to find text in a licensee name, business name, license number, city, or address. Enter up to 20 partial terms, for example roofing or builders. A record matches when any term is present. Leave empty for no keyword filter.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "licenseNumbers": {
            "title": "Exact license numbers",
            "maxItems": 100,
            "type": "array",
            "description": "Use this for exact license verification or a known list, for example CGC012345. Spaces and hyphens are ignored. Enter up to 100 values. This searches the weekly construction extract, not every DBPR board or local license system.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "maxItems": 50,
            "type": "array",
            "description": "Use this to build a city-level contractor list. Values are case-insensitive exact city matches, for example Miami or Tampa. Enter up to 50 cities. Leave empty to include every city.",
            "default": [
              "Miami"
            ],
            "items": {
              "type": "string"
            }
          },
          "counties": {
            "title": "Counties",
            "maxItems": 50,
            "type": "array",
            "description": "Use this to filter Florida counties by name or DBPR two-digit county code, for example Miami-Dade or 23. Enter up to 50 values. This is the public mailing-address county, not proof of a contractor's service area.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "licenseTypes": {
            "title": "Contractor license types",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this to select DBPR Construction Industry occupation codes. Defaults to certified general contractors (CGC). Select one or more types, or clear all to include every construction type in the extract.",
            "items": {
              "type": "string",
              "enum": [
                "CGC",
                "CBC",
                "CRC",
                "CCC",
                "CAC",
                "CFC",
                "CMC",
                "CPC",
                "CUC",
                "CVC",
                "CSC",
                "SCC",
                "RG",
                "RB",
                "RR",
                "RC",
                "RA",
                "RF",
                "RM",
                "RP",
                "RU",
                "RV",
                "RS",
                "RX"
              ]
            },
            "default": [
              "CGC"
            ]
          },
          "statuses": {
            "title": "Normalized license statuses",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this to keep normalized DBPR statuses. Defaults to active licenses. Clear all to include every status present in the weekly extract. Expired is derived from a past expiration date on an otherwise current record.",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "inactive",
                "probation",
                "suspended",
                "expired",
                "unknown"
              ]
            },
            "default": [
              "active"
            ]
          },
          "onlyBusinessLeads": {
            "title": "Require a business name",
            "type": "boolean",
            "description": "Use this for company-focused prospecting. When enabled, individual license records without a DBPR doing-business-as name are excluded. This does not add phone, email, website, or inferred contact data.",
            "default": true
          },
          "maxResults": {
            "title": "Maximum results (free users: max 5)",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Use this to cap delivered and billable dataset records. Verified Apify free-plan users receive at most 5 records per run; paid users can request 1–50,000. The Actor stops after this many unique matches. Default 100.",
            "default": 100
          },
          "useBrowserFallback": {
            "title": "Use browser fallback",
            "type": "boolean",
            "description": "Use this when DBPR blocks the cheaper HTTP download with its managed browser check. Enabled by default. It runs a real browser but never solves or bypasses a CAPTCHA.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use this when DBPR restricts the current IP route. Apify Proxy settings apply consistently to the source session. The default uses Apify Proxy; choose a US residential group only when your plan supports it.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}