{
  "openapi": "3.0.1",
  "info": {
    "title": "NAIC SBS Insurance Producer Scraper",
    "description": "Look up and bulk-export insurance producer and licensee records from the NAIC State Based Systems public lookup. Covers all 34 SBS jurisdictions, individuals and business entities, and all license statuses including expired, revoked and cancelled.",
    "version": "1.0",
    "x-build-id": "kftIAexYDqvAx1kBY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/harvestloop~naic-sbs-licensee-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-harvestloop-naic-sbs-licensee-scraper",
        "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/harvestloop~naic-sbs-licensee-scraper/runs": {
      "post": {
        "operationId": "runs-sync-harvestloop-naic-sbs-licensee-scraper",
        "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/harvestloop~naic-sbs-licensee-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-harvestloop-naic-sbs-licensee-scraper",
        "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": {
          "jurisdictions": {
            "title": "Jurisdictions",
            "type": "array",
            "description": "Pick one or more NAIC State Based Systems jurisdictions, or ALL for all 34. Note: California, Texas, Florida, New York, Pennsylvania, Ohio, Georgia, Michigan and Washington license through their own separate systems and are NOT part of NAIC SBS, so they are not accepted here.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CT",
                "DE",
                "DC",
                "GU",
                "HI",
                "ID",
                "IL",
                "IA",
                "KS",
                "MD",
                "MA",
                "MO",
                "MT",
                "NE",
                "NH",
                "NJ",
                "NM",
                "NC",
                "ND",
                "OK",
                "OR",
                "PR",
                "RI",
                "SC",
                "SD",
                "TN",
                "VI",
                "VT",
                "WV",
                "WI",
                "ALL"
              ],
              "enumTitles": [
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "Connecticut",
                "Delaware",
                "District of Columbia",
                "Guam",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Iowa",
                "Kansas",
                "Maryland",
                "Massachusetts",
                "Missouri",
                "Montana",
                "Nebraska",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "North Carolina",
                "North Dakota",
                "Oklahoma",
                "Oregon",
                "Puerto Rico",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "US Virgin Islands",
                "Vermont",
                "West Virginia",
                "Wisconsin",
                "All 34 jurisdictions"
              ]
            },
            "default": [
              "NJ"
            ]
          },
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "targeted",
              "enumerate"
            ],
            "type": "string",
            "description": "'targeted' answers one question. 'enumerate' collects a whole population and automatically subdivides queries to work around the NAIC 25-row cap.",
            "default": "targeted"
          },
          "entityTypes": {
            "title": "Entity types",
            "type": "array",
            "description": "IND covers individual producers. ENT covers business entities such as agencies and brokerages.",
            "items": {
              "type": "string",
              "enum": [
                "IND",
                "ENT"
              ],
              "enumTitles": [
                "Individual (producers)",
                "Business entity (agencies)"
              ]
            },
            "default": [
              "IND"
            ]
          },
          "licenseStatuses": {
            "title": "License statuses",
            "type": "array",
            "description": "Leave empty to include every status. Common codes: A active, B approved but not active, CA cancelled, DEN denied, EX expired, IN inactive, REV revoked, SUS suspended. Codes vary slightly by jurisdiction.",
            "items": {
              "type": "string",
              "pattern": "^[A-Za-z]{1,4}$"
            },
            "default": []
          },
          "licenseTypeCodes": {
            "title": "License type codes",
            "type": "array",
            "description": "Optional. Leave empty to auto-detect each jurisdiction's producer code. Common: PRO producer, PAJ public adjuster, TPA third party administrator.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "loaTypes": {
            "title": "Lines of authority codes",
            "type": "array",
            "description": "Optional. Leave empty for all lines. Common: LLA accident and health, LLL life, LLC casualty, LLP property.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "lastName": {
            "title": "Last name",
            "type": "string",
            "description": "Matches from the start of the name. Use with searchMode 'targeted'."
          },
          "firstName": {
            "title": "First name",
            "type": "string",
            "description": "Matches from the start of the name."
          },
          "dbaLastName": {
            "title": "DBA last name",
            "type": "string",
            "description": "Search assumed or trading names instead of the legal name."
          },
          "npn": {
            "title": "National Producer Number",
            "type": "integer",
            "description": "Exact NPN lookup. The fastest way to resolve one known producer."
          },
          "licenseNumber": {
            "title": "License number",
            "type": "integer",
            "description": "Exact license number lookup."
          },
          "fein": {
            "title": "FEIN",
            "type": "string",
            "description": "Federal Employer Identification Number."
          },
          "businessCity": {
            "title": "Business city",
            "type": "string",
            "description": "Filter on the city of the business address."
          },
          "businessState": {
            "title": "Business state or province",
            "type": "string",
            "description": "Filter on the state or province of the business address."
          },
          "businessZipcode": {
            "title": "Business zipcode",
            "type": "string",
            "description": "Filter on the business zipcode."
          },
          "mailingCounty": {
            "title": "Mailing county",
            "type": "string",
            "description": "Filter on the county of the mailing address."
          },
          "residentLicense": {
            "title": "Resident license",
            "enum": [
              "",
              "Yes",
              "No"
            ],
            "type": "string",
            "description": "Restrict to residents or non-residents.",
            "default": ""
          },
          "enrichDetail": {
            "title": "Fetch full licensee detail",
            "type": "boolean",
            "description": "Adds roughly 8 extra requests per record and returns emails, websites, a structured address, per-line qualification and exam dates, continuing education compliance, appointments, branch offices and DBA names.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "Stop after this many unique licensees.",
            "default": 1000
          },
          "maxRequests": {
            "title": "Maximum NAIC queries",
            "minimum": 1,
            "maximum": 2000000,
            "type": "integer",
            "description": "Hard ceiling on upstream requests. Enumeration subdivides queries, so this can be reached before maxResults is.",
            "default": 5000
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Parallel requests. Start low and raise it if the run is slow.",
            "default": 8
          },
          "resume": {
            "title": "Resume previous run",
            "type": "boolean",
            "description": "Reuse the checkpoint in the key-value store so an interrupted run continues instead of re-charging for records already collected.",
            "default": true
          },
          "useProxy": {
            "title": "Use a proxy",
            "type": "boolean",
            "description": "Route requests through Apify Proxy. Recommended for bulk runs, because NAIC throttles and blocks individual IP addresses. Turn it OFF for a one-off targeted lookup to keep the run as cheap as possible - direct requests are fine unless NAIC answers 403.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings, used only when 'Use a proxy' is on. The default leaves the proxy group unset so Apify routes through the cheapest group your plan includes. Do not pin a group unless you know you are entitled to it - pinning an unavailable group (for example SHARED_DATACENTER, which is a paid add-on) makes the run fail immediately. Choose RESIDENTIAL only if you hit repeated 403 errors; it is billed at roughly 4x the datacenter rate.",
            "default": {
              "useApifyProxy": true
            }
          },
          "proxyCountry": {
            "title": "Proxy country",
            "type": "string",
            "description": "Two letter code for the proxy exit country. Used only when \"Use a proxy\" is on and no explicit proxy configuration is supplied.",
            "default": "US"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}