{
  "openapi": "3.0.1",
  "info": {
    "title": "Justia Scraper Lawyer Email List & Leads",
    "description": "Justia Scraper - Build a targeted lawyer email list from Justia by state and practice area. Page-by-page crawl harvests emails (comma-joined), phone, bio, socials, vCard. CSV/JSON-ready for attorney email lists, attorney mailing list, and lawyers mailing list.",
    "version": "0.0",
    "x-build-id": "rBNMhSmeAZVA9MPzW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/voyn~justia-scraper-lawyer-email-list-leads/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-voyn-justia-scraper-lawyer-email-list-leads",
        "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/voyn~justia-scraper-lawyer-email-list-leads/runs": {
      "post": {
        "operationId": "runs-sync-voyn-justia-scraper-lawyer-email-list-leads",
        "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/voyn~justia-scraper-lawyer-email-list-leads/run-sync": {
      "post": {
        "operationId": "run-sync-voyn-justia-scraper-lawyer-email-list-leads",
        "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",
        "required": [
          "states",
          "fields",
          "headless",
          "maxItems",
          "maxPagesPerCombo",
          "useBrowser",
          "visitWebsitesForEmails",
          "websiteCrawlDepth",
          "minDelayMs",
          "maxDelayMs",
          "maxRequestRetries",
          "resumeMode"
        ],
        "properties": {
          "states": {
            "title": "States",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more U.S. states (or Washington, DC). Choose “All” to iterate all states automatically.",
            "items": {
              "type": "string",
              "enum": [
                "All",
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "West Virginia",
                "Wisconsin",
                "Wyoming",
                "Washington, DC"
              ]
            }
          },
          "fields": {
            "title": "Practice Areas (Fields)",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more practice areas. Choose “All” to iterate all fields automatically.",
            "items": {
              "type": "string",
              "enum": [
                "All",
                "Personal Injury",
                "Medical Malpractice",
                "Criminal Law",
                "DUI",
                "Family Law",
                "Divorce",
                "Bankruptcy",
                "Business Law",
                "Consumer Law",
                "Employment Law",
                "Estate Planning",
                "Foreclosure Defense",
                "Immigration Law",
                "Intellectual Property",
                "Nursing Home Abuse",
                "Probate",
                "Products Liability",
                "Real Estate Law",
                "Tax Law",
                "Traffic Tickets",
                "Workers' Compensation",
                "Agricultural Law",
                "Animal & Dog Law",
                "Antitrust Law",
                "Appeals & Appellate",
                "Arbitration & Mediation",
                "Asbestos & Mesothelioma",
                "Cannabis & Marijuana Law",
                "Civil Rights",
                "Collections",
                "Communications & Internet Law",
                "Construction Law",
                "Domestic Violence",
                "Education Law",
                "Elder Law",
                "Energy, Oil & Gas Law",
                "Entertainment & Sports Law",
                "Environmental Law",
                "Gov & Administrative Law",
                "Health Care Law",
                "Insurance Claims",
                "Insurance Defense",
                "International Law",
                "Juvenile Law",
                "Landlord Tenant",
                "Legal Malpractice",
                "Maritime Law",
                "Military Law",
                "Municipal Law",
                "Native American Law",
                "Patents",
                "Securities Law",
                "Social Security Disability",
                "Stockbroker & Investment Fraud",
                "Trademarks",
                "White Collar Crime"
              ]
            }
          },
          "headless": {
            "title": "Headless browser",
            "type": "boolean",
            "description": "When Playwright runs, use headless mode.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum records (global cap)",
            "minimum": 1,
            "type": "integer",
            "description": "Total number of lawyer records to collect across all selected states and fields. The actor stops once this cap is reached.",
            "default": 10
          },
          "maxPagesPerCombo": {
            "title": "Max pages per (state × field) combo",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on pagination pages to fetch for each state × field pair.",
            "default": 10000
          },
          "resumeMode": {
            "title": "Resume mode",
            "enum": [
              "Start from scratch",
              "Resume from last progress"
            ],
            "type": "string",
            "description": "Choose whether the actor should continue from the last saved progress (resume.json) or start from scratch.",
            "default": "Start from scratch"
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Select proxies to be used by the crawler (Apify Proxy or your own)."
          },
          "useBrowser": {
            "title": "Use a real browser (Playwright)",
            "type": "boolean",
            "description": "If true, blocked or tricky pages will be opened with Playwright. May be slower but reduces blocks.",
            "default": false
          },
          "visitWebsitesForEmails": {
            "title": "Visit lawyer websites to find emails",
            "type": "boolean",
            "description": "If enabled, the actor visits each lawyer’s external website (when available) and searches the homepage and likely pages (e.g., Contact/About) for email addresses.",
            "default": true
          },
          "websiteCrawlDepth": {
            "title": "Website crawl depth",
            "minimum": 0,
            "maximum": 1,
            "type": "integer",
            "description": "0 = homepage only, 1 = homepage + likely pages.",
            "default": 1
          },
          "minDelayMs": {
            "title": "Min delay between Justia requests (ms)",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound for randomized delay between list/profile requests to Justia.",
            "default": 1200
          },
          "maxDelayMs": {
            "title": "Max delay between Justia requests (ms)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound for randomized delay between list/profile requests to Justia.",
            "default": 2600
          },
          "maxRequestRetries": {
            "title": "Max request retries (per URL)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "How many times to retry a failed list/profile request before giving up.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}