{
  "openapi": "3.0.1",
  "info": {
    "title": "US Contractor License Lookup: FL, TX, NY, WA, OR, CT, CO, MD",
    "description": "Verify contractor licenses and build trade-contractor lead lists from 12 official state & city license databases (Florida DBPR, Texas TDLR, WA L&I, Oregon CCB, NY, NYC DOB, Connecticut, Colorado...). Search by name or license #, filter by trade, city, ZIP, status, expiring soon or newly licensed.",
    "version": "1.0",
    "x-build-id": "n0QeqSnA7bI2enCMC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/spriggs-data~us-contractor-license-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-spriggs-data-us-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/spriggs-data~us-contractor-license-lookup/runs": {
      "post": {
        "operationId": "runs-sync-spriggs-data-us-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/spriggs-data~us-contractor-license-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-spriggs-data-us-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": {
          "names": {
            "title": "Contractor / business / person names",
            "type": "array",
            "description": "Search by business, DBA or principal/owner name. Every word must appear (case-insensitive; LLC/Inc/Co are ignored), so 'smith roofing' finds 'SMITH & SONS ROOFING LLC'. One search per name; each result carries the matching name in matchedQuery. Leave empty to list all licenses matching the other filters.",
            "items": {
              "type": "string"
            }
          },
          "licenseNumbers": {
            "title": "License numbers",
            "type": "array",
            "description": "Exact license / certificate numbers to verify (e.g. WA 'ECOSTSC758NN', CT 'HIC.0631057', TX '19400', FL 'CCC056803').",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "Which state datasets to search. Leave empty (and Sources empty) to search all states.",
            "items": {
              "type": "string",
              "enum": [
                "WA",
                "OR",
                "TX",
                "NY",
                "CT",
                "CO",
                "FL",
                "MD"
              ],
              "enumTitles": [
                "Washington",
                "Oregon",
                "Texas",
                "New York (state + NYC)",
                "Connecticut",
                "Colorado",
                "Florida (DBPR construction + electrical)",
                "Maryland (Montgomery County)"
              ]
            }
          },
          "sources": {
            "title": "Specific sources (optional)",
            "type": "array",
            "description": "Pick individual datasets instead of (or in addition to) whole states.",
            "items": {
              "type": "string",
              "enum": [
                "wa-lni",
                "or-ccb",
                "or-bcd",
                "tx-tdlr",
                "ny-registry",
                "nyc-dob",
                "nyc-hic",
                "ct-dcp",
                "co-dora",
                "md-montgomery",
                "fl-dbpr-construction",
                "fl-dbpr-electrical"
              ],
              "enumTitles": [
                "WA L&I contractors (construction, electrical, plumbing, elevator)",
                "Oregon CCB active contractor licenses (with bond & insurance)",
                "Oregon BCD trade licenses (electrical, plumbing, boiler, elevator)",
                "Texas TDLR trade licenses (A/C, electrical, elevator, appliance, well drilling)",
                "NY State Contractor Registry (public-works contractors, with compliance flags)",
                "NYC DOB licenses (general contractors, electricians, plumbers, fire suppression)",
                "NYC DCWP Home Improvement Contractor licenses",
                "Connecticut DCP trade & home-improvement licenses",
                "Colorado DORA electrical & plumbing licenses",
                "Montgomery County MD building contractor / new home builder licenses",
                "Florida DBPR construction licenses (general, building, residential, roofing, A/C, plumbing, pool, solar...)",
                "Florida DBPR electrical & alarm contractor licenses"
              ]
            }
          },
          "trades": {
            "title": "Trades",
            "type": "array",
            "description": "Only licenses in these trades (classified from the official license type / specialty).",
            "items": {
              "type": "string",
              "enum": [
                "general",
                "home_improvement",
                "electrical",
                "plumbing",
                "hvac",
                "roofing",
                "elevator",
                "fire_protection",
                "glass_windows_siding",
                "concrete_masonry",
                "carpentry_finish",
                "landscaping",
                "excavation_demolition",
                "solar",
                "pool_spa",
                "sign",
                "lead_mold_asbestos",
                "appliance",
                "alarm_security",
                "public_works",
                "home_builder"
              ],
              "enumTitles": [
                "General contractor / builder",
                "Home improvement / remodeling",
                "Electrical",
                "Plumbing",
                "HVAC / A/C / heating / boiler",
                "Roofing & gutters",
                "Elevator / conveyor",
                "Fire protection / sprinklers",
                "Glass, windows, doors & siding",
                "Concrete, masonry, tile & paving",
                "Carpentry, drywall, flooring & painting",
                "Landscaping, trees & irrigation",
                "Excavation, demolition & well drilling",
                "Solar",
                "Pools & spas",
                "Signs",
                "Lead, mold & asbestos",
                "Appliance installation",
                "Alarm & security systems",
                "Public-works contractors (NY registry)",
                "Home builders (Montgomery County MD)"
              ]
            }
          },
          "licenseTypeContains": {
            "title": "License type contains (optional)",
            "type": "array",
            "description": "Free-text match on the license type, e.g. 'Master Electrician' or 'Residential General'.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Business city of the licensee (exact name, case-insensitive), e.g. 'Seattle', 'Houston'.",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "title": "ZIP codes",
            "type": "array",
            "description": "Business ZIP (5 digits, or a 3-digit prefix like '981').",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "License status",
            "enum": [
              "active",
              "any"
            ],
            "type": "string",
            "description": "Active only, or every status (useful for due-diligence checks).",
            "default": "active"
          },
          "expiringWithinDays": {
            "title": "Expiring within N days",
            "minimum": 1,
            "maximum": 730,
            "type": "integer",
            "description": "Only licenses whose expiration date is in the next N days: renewal / insurance / bonding leads."
          },
          "issuedAfter": {
            "title": "Issued on or after (newly licensed)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD. Only licenses first issued / registered on or after this date: new-business leads. Sources without an issue date are skipped."
          },
          "maxItems": {
            "title": "Max results (total)",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on records saved (and charged) per run.",
            "default": 100
          },
          "maxItemsPerSource": {
            "title": "Max results per source",
            "minimum": 1,
            "type": "integer",
            "description": "Cap per dataset, so one big state does not use the whole budget.",
            "default": 200
          },
          "includeRaw": {
            "title": "Include raw source record",
            "type": "boolean",
            "description": "Adds the untouched original row under 'raw'.",
            "default": false
          },
          "socrataAppToken": {
            "title": "Socrata app token (optional)",
            "type": "string",
            "description": "Optional free token from any Socrata portal for higher rate limits. Not required."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}