{
  "openapi": "3.0.1",
  "info": {
    "title": "New Mexico RLD Contractor License Scraper (CID)",
    "description": "Export New Mexico RLD Construction Industries Division licensees: name, license #, classification, street address, city, ZIP, phone, status, issue/expiry dates, volume limit & qualifying party. JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "5qNSnpOzAe6NSaPFH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~new-mexico-rld-contractors-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-new-mexico-rld-contractors-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/scrapers_lat~new-mexico-rld-contractors-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-new-mexico-rld-contractors-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/scrapers_lat~new-mexico-rld-contractors-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-new-mexico-rld-contractors-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": {
          "searchMode": {
            "title": "Search Mode",
            "enum": [
              "company",
              "individual"
            ],
            "type": "string",
            "description": "Search companies (contractors, LP-gas & manufactured-housing businesses) or individuals (certificate holders / qualifying parties).",
            "default": "company"
          },
          "licenseType": {
            "title": "License Type (company mode)",
            "enum": [
              "Contractor",
              "LP-Gas",
              "MHD-Broker",
              "MHD-Crossover",
              "MHD-Dealer",
              "MHD-Installer",
              "MHD-Manufacturer",
              "MHD-Salesperson"
            ],
            "type": "string",
            "description": "Which New Mexico CID license category to search in company mode.",
            "default": "Contractor"
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "New Mexico cities to pull, e.g. \"Albuquerque\", \"Santa Fe\", \"Las Cruces\", \"Rio Rancho\". One search runs per city. Leave empty to search by name or license number instead.",
            "items": {
              "type": "string"
            }
          },
          "businessNames": {
            "title": "Business / Last Names",
            "type": "array",
            "description": "Business-name terms to search (or last names in individual mode). Partial matches work. One search runs per term.",
            "items": {
              "type": "string"
            }
          },
          "firstName": {
            "title": "First Name (individual mode)",
            "type": "string",
            "description": "Optional first name, used only in individual search mode."
          },
          "licenseNumbers": {
            "title": "License / Certificate Numbers",
            "type": "array",
            "description": "Look up specific license or certificate numbers (one search each). Overrides city/name filters.",
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Status Filter",
            "type": "array",
            "description": "Optional. Keep only these license statuses, e.g. \"Active\", \"Expired\", \"Inactive\" (matches on contains).",
            "items": {
              "type": "string"
            }
          },
          "classifications": {
            "title": "Classification Filter",
            "type": "array",
            "description": "Optional. Keep only records whose classification code matches, e.g. \"GB98\", \"GB2\", \"GA\", \"MM98\" (matches on contains). Requires full details ON.",
            "items": {
              "type": "string"
            }
          },
          "withDetails": {
            "title": "Fetch full details (phone, volume limit, issue date, qualifying party & classification)",
            "type": "boolean",
            "description": "When ON (default), each licensee is enriched from its detail page with phone number, monetary volume limit, issue date, and the qualifying party's name, certificate number and classification code. Turn OFF to pay for the listing-only fields (name, license #, address, city, ZIP, status, expiry).",
            "default": true
          },
          "maxContractors": {
            "title": "Max Licensees To Scrape",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of licensees to return this run."
          },
          "maxCaptchaAttempts": {
            "title": "Max Verification Attempts Per Search",
            "minimum": 3,
            "type": "integer",
            "description": "Advanced. How many times to retry the search verification step per query before giving up.",
            "default": 12
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Optional Apify proxy. Not required — the source is reachable directly. Enable US residential only if you hit rate limits.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}