# Avvo Scraper — US Lawyer & Attorney Directory Data (`haketa/avvo-scraper`) Actor

Extract US attorneys from Avvo: name, law firm, phone, Avvo Rating, reviews, practice area, address & hourly rate. Filter by practice area & state. Optional firm website & email enrichment for legal B2B lead generation.

- **URL**: https://apify.com/haketa/avvo-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.30 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Avvo Scraper — US Lawyer & Attorney Directory Data

Extract structured **US attorney and law-firm data** from **Avvo**, one of the largest legal directories in the United States. Pick a practice area and states (or paste Avvo URLs) and get clean records for every lawyer: **name, law firm, phone, Avvo Rating, review count, practice area, full address, hourly rate, education** and, optionally, a **law-firm website and contact email**.

No code, no login. Run it from the Apify Console, on a schedule, or from your own app via the API. Results download as **JSON, CSV, Excel, HTML or XML**, or sync straight into Google Sheets, Airtable, HubSpot, Make, Zapier and n8n.

> **⚖️ Built for legal lead generation & market research.** Every record carries the **attorney's name, firm, phone, rating and location** — perfect for building targeted lists of lawyers by practice area and state.

---

### 📋 What this scraper does

Avvo lists hundreds of thousands of US attorneys across every practice area and state. This actor turns an Avvo directory search into a clean, structured dataset you can analyse, enrich or feed into a CRM.

Give it a practice area (e.g. `personal-injury`) and one or more states, and it will:

- ✅ Collect every matching attorney, page after page
- ✅ Return the **Avvo Rating (0–10)** and **client review count**
- ✅ Capture the **law firm, phone number and hourly rate**
- ✅ Break out the **full address** — street, city, state and ZIP
- ✅ Include **education** (law schools / universities)
- ✅ Optionally visit each **profile** for the firm **website** and **years of experience**
- ✅ Optionally extract a **contact email** from the firm's website
- ✅ De-duplicate every attorney by their Avvo ID

---

### ⭐ Why choose this scraper

- **Ready-to-use legal leads.** Name, firm, phone, rating and location for every attorney — build outreach or referral lists in minutes.
- **Reputation signals.** Avvo Rating and review count let you rank and qualify attorneys instantly.
- **Rich targeting.** Filter by practice area and state to reach exactly the lawyers you need.
- **Deep enrichment.** Optionally add each firm's website, the attorney's years of experience and a contact email.
- **Fast and reliable.** Efficient extraction straight from Avvo's directory pages.

---

### 💡 Popular use cases

| Use case | How this scraper helps |
| --- | --- |
| **Legal B2B lead generation** | Build targeted lists of attorneys by practice area and state for outreach. |
| **Legal marketing & SaaS sales** | Reach law firms that match your product (case management, intake, ads, SEO). |
| **Referral networks** | Find and rank attorneys by practice area, rating and location for referrals. |
| **Recruiting & headhunting** | Source lawyers by experience, education and specialisation. |
| **Market research** | Measure attorney supply, ratings and pricing across practice areas and states. |
| **Competitor analysis** | Benchmark firms by rating, reviews and coverage in any market. |

---

### 🚀 Quick start

1. Enter a **Practice area** slug (e.g. `personal-injury`, `tax`, `divorce`).
2. Pick one or more **States** (or leave empty for nationwide).
3. (Optional) Turn on **Enrich from profile pages** for website + experience, and **Find emails from firm websites**.
4. Set **Max attorneys** and click **Start**.
5. Download your data from the **Storage → Dataset** tab.

---

### ⚙️ Input

| Field | Type | Description |
| --- | --- | --- |
| **Practice area** | string | Avvo practice-area slug, e.g. `personal-injury`, `tax`, `divorce`, `criminal-defense`, `bankruptcy-and-debt`. |
| **States** | multi-select | One or more US states. Empty = nationwide search for the practice area. |
| **Avvo search URLs** | array | Advanced: paste full Avvo directory URLs (e.g. `https://www.avvo.com/tax-lawyer/ca.html`) instead of the fields above. |
| **Enrich from profile pages** | boolean | Visit each profile for the firm website and years of experience. Slower but richer. |
| **Find emails from firm websites** | boolean | For attorneys with a firm website, try to extract a contact email. Coverage is partial (see below). |
| **Max attorneys** | integer | Cap on total attorneys returned. `0` = no limit. |
| **Proxy** | object | Apify Proxy (US recommended, on by default). |

#### Example 1 — Personal-injury lawyers in California & Texas

```json
{
  "practiceArea": "personal-injury",
  "states": ["ca", "tx"],
  "maxItems": 500
}
````

#### Example 2 — Tax attorneys in New York, with website + email

```json
{
  "practiceArea": "tax",
  "states": ["ny"],
  "enrichProfiles": true,
  "enrichEmails": true,
  "maxItems": 200
}
```

#### Example 3 — Paste Avvo URLs directly

```json
{
  "searchUrls": [
    "https://www.avvo.com/divorce-lawyer/fl.html",
    "https://www.avvo.com/immigration-lawyer/tx.html"
  ],
  "maxItems": 300
}
```

***

### 📦 Output

Each attorney becomes one dataset record:

```json
{
  "lawyerId": "457496",
  "name": "Kathryn Crawford Gentle",
  "profileUrl": "https://www.avvo.com/attorneys/35243-al-kathryn-gentle-457496.html",
  "jobTitle": "Attorney",
  "firm": "Kathryn Crawford Gentle",
  "avvoRating": 10,
  "reviewCount": 9,
  "phone": "(205) 208-1800",
  "priceRange": "$275 - $300 per hour",
  "street": "4505 Pine Tree Circle, Suite 121",
  "city": "Vestavia",
  "state": "AL",
  "postalCode": "35243",
  "practiceArea": "tax",
  "practiceAreas": null,
  "experienceYears": 24,
  "education": "University of Alabama School of Law; University of Alabama - Tuscaloosa",
  "website": "https://example-law-firm.com",
  "email": "contact@example-law-firm.com",
  "image": "https://images.avvo.com/.../lawyer_kathryn_gentle_457496.jpg",
  "scrapedAt": "2026-07-02T00:00:00.000Z"
}
```

#### Output fields

| Field | Description |
| --- | --- |
| `lawyerId` | Avvo lawyer ID (used for de-duplication). |
| `name` | Attorney full name. |
| `profileUrl` | Avvo profile page URL. |
| `jobTitle` | Job title (e.g. Attorney). |
| `firm` | Law firm / business name. |
| `avvoRating` | Avvo Rating (0–10). |
| `reviewCount` | Number of client reviews. |
| `phone` | Contact phone number. |
| `priceRange` | Hourly rate / price range, when listed. |
| `street` / `city` / `state` / `postalCode` | Office location. |
| `practiceArea` | The practice area used in the search. |
| `practiceAreas` | Practice areas listed on the profile (profile enrichment). |
| `experienceYears` | Years licensed / in practice (profile enrichment). |
| `education` | Law schools / universities attended. |
| `website` | Law-firm website (profile enrichment). |
| `email` | Contact email found on the firm website (email enrichment). |
| `image` | Headshot image URL. |
| `scrapedAt` | Extraction timestamp. |

***

### 📧 About emails

Avvo does not publish attorney email addresses on its directory or profile pages. When you enable **Find emails from firm websites**, the actor visits the attorney's **law-firm website** (when the profile lists one) and extracts a **contact email published on that site**. Coverage is therefore **partial** — it depends on the attorney having a website that shows an email. For maximum reach, rely on the **phone number**, which is available for most attorneys directly from the directory, and use email as a bonus where available.

***

### ⚖️ Practice areas you can search

`personal-injury` · `tax` · `divorce` · `criminal-defense` · `bankruptcy-and-debt` · `family` · `employment-and-labor` · `estate-planning` · `immigration` · `real-estate` · `dui-and-dwi` · `medical-malpractice` · `workers-compensation` · `business` · `car-accident` · `social-security-disability` · `intellectual-property` · `foreclosure` · `child-custody` · `landlord-and-tenant` · `wrongful-termination` · `probate` · and many more.

> Not sure of the slug? Search on avvo.com and copy the part of the URL before `-lawyer` — e.g. `avvo.com/tax-lawyer/ca.html` → `tax`.

***

### 🗺️ States

All 50 US states plus Washington DC are supported. Select one, several, or none (nationwide).

***

### 🧭 Tips for best results

- **Combine practice area + states** to zoom into a precise legal market.
- **Rank by `avvoRating` + `reviewCount`** to surface the strongest attorneys.
- **Turn on profile enrichment** for firm website and years of experience.
- **Use the phone number** as the primary contact channel — it's the most complete field.
- **Schedule weekly runs** to track new attorneys and rating changes.

***

### 🔌 Integrations & export

- **Download formats:** JSON, CSV, Excel, HTML, XML, RSS.
- **CRM / Sheets / Airtable / Make / Zapier / n8n:** push results automatically.
- **API:** run and fetch data with the Apify API or the JS / Python clients.
- **Scheduling:** run on a schedule to keep an always-fresh attorney database.

***

### ❓ FAQ

**Do I need an Avvo account or API key?**
No. You only need an Apify account.

**Which attorneys are covered?**
US attorneys listed on Avvo, across every practice area and state.

**Where does the phone number come from?**
Directly from the directory listing — it's available for most attorneys.

**Why are some emails empty?**
Avvo doesn't publish emails. The actor only finds an email when the attorney's firm website publishes one, so coverage is partial.

**Does it return duplicates?**
No. Attorneys are de-duplicated by their Avvo ID across all searches.

***

### ⚖️ Legal & responsible use

This actor collects **publicly available** information from Avvo's directory — the same data any visitor can see. It does not log in or access private data. Respect Avvo's Terms of Use and applicable law, and use the data for lawful purposes such as market research, analytics and B2B outreach.

***

### 🛟 Support

Need an extra field or hit an issue? Open a ticket from the actor's **Issues** tab with your input configuration.

Happy sourcing! ⚖️

# Actor input Schema

## `practiceArea` (type: `string`):

Avvo practice-area slug, e.g. tax, divorce, personal-injury, criminal-defense, bankruptcy, family, employment, estate-planning, immigration, real-estate, dui-and-dwi. Combined with the states below to build search URLs.

## `states` (type: `array`):

US states to search (each becomes one search URL). Leave empty to search nationwide for the practice area.

## `searchUrls` (type: `array`):

Optional. Paste full Avvo directory URLs, e.g. https://www.avvo.com/tax-lawyer/ca.html. If provided, these are used instead of the practice area + states above.

## `enrichProfiles` (type: `boolean`):

Visit each attorney's profile page for extra data (law-firm website, years of experience, practice areas). Slower but richer. Required for email enrichment.

## `enrichEmails` (type: `boolean`):

For attorneys whose profile lists a law-firm website, visit it and try to extract a contact email. Avvo itself does not publish emails, so coverage is partial (only attorneys with a website that exposes an email). Slower. Automatically enables profile enrichment.

## `maxItems` (type: `integer`):

Maximum number of attorneys to return across all searches. Set 0 for no limit.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings. US residential is required and set by default (Avvo blocks datacenter IPs).

## Actor input object example

```json
{
  "practiceArea": "personal-injury",
  "searchUrls": [],
  "enrichProfiles": false,
  "enrichEmails": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `lawyerId` (type: `string`):

Avvo lawyer ID

## `name` (type: `string`):

Attorney full name

## `profileUrl` (type: `string`):

Avvo profile page URL

## `jobTitle` (type: `string`):

Job title (e.g. Attorney)

## `firm` (type: `string`):

Law firm / business name

## `avvoRating` (type: `string`):

Avvo Rating (0-10)

## `reviewCount` (type: `string`):

Number of client reviews

## `phone` (type: `string`):

Contact phone number

## `priceRange` (type: `string`):

Hourly rate / price range

## `street` (type: `string`):

Street address

## `city` (type: `string`):

City

## `state` (type: `string`):

State

## `postalCode` (type: `string`):

ZIP / postal code

## `practiceArea` (type: `string`):

Practice area used in the search

## `practiceAreas` (type: `string`):

Practice areas listed on the profile

## `experienceYears` (type: `string`):

Years licensed / in practice

## `education` (type: `string`):

Schools / universities attended

## `website` (type: `string`):

Law-firm website (from profile)

## `email` (type: `string`):

Email found on the firm website (when available)

## `image` (type: `string`):

Headshot image URL

## `scrapedAt` (type: `string`):

Extraction timestamp

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "practiceArea": "personal-injury",
    "searchUrls": [],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/avvo-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "practiceArea": "personal-injury",
    "searchUrls": [],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/avvo-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "practiceArea": "personal-injury",
  "searchUrls": [],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call haketa/avvo-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=haketa/avvo-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Avvo Scraper — US Lawyer & Attorney Directory Data",
        "description": "Extract US attorneys from Avvo: name, law firm, phone, Avvo Rating, reviews, practice area, address & hourly rate. Filter by practice area & state. Optional firm website & email enrichment for legal B2B lead generation.",
        "version": "0.1",
        "x-build-id": "y7TSEt5R8SJ2Qw00B"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/haketa~avvo-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-haketa-avvo-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/haketa~avvo-scraper/runs": {
            "post": {
                "operationId": "runs-sync-haketa-avvo-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/haketa~avvo-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-haketa-avvo-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": {
                    "practiceArea": {
                        "title": "Practice area",
                        "type": "string",
                        "description": "Avvo practice-area slug, e.g. tax, divorce, personal-injury, criminal-defense, bankruptcy, family, employment, estate-planning, immigration, real-estate, dui-and-dwi. Combined with the states below to build search URLs."
                    },
                    "states": {
                        "title": "States",
                        "type": "array",
                        "description": "US states to search (each becomes one search URL). Leave empty to search nationwide for the practice area.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "al",
                                "ak",
                                "az",
                                "ar",
                                "ca",
                                "co",
                                "ct",
                                "de",
                                "dc",
                                "fl",
                                "ga",
                                "hi",
                                "id",
                                "il",
                                "in",
                                "ia",
                                "ks",
                                "ky",
                                "la",
                                "me",
                                "md",
                                "ma",
                                "mi",
                                "mn",
                                "ms",
                                "mo",
                                "mt",
                                "ne",
                                "nv",
                                "nh",
                                "nj",
                                "nm",
                                "ny",
                                "nc",
                                "nd",
                                "oh",
                                "ok",
                                "or",
                                "pa",
                                "ri",
                                "sc",
                                "sd",
                                "tn",
                                "tx",
                                "ut",
                                "vt",
                                "va",
                                "wa",
                                "wv",
                                "wi",
                                "wy"
                            ],
                            "enumTitles": [
                                "Alabama",
                                "Alaska",
                                "Arizona",
                                "Arkansas",
                                "California",
                                "Colorado",
                                "Connecticut",
                                "Delaware",
                                "District of Columbia",
                                "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"
                            ]
                        }
                    },
                    "searchUrls": {
                        "title": "Avvo search URLs (advanced)",
                        "type": "array",
                        "description": "Optional. Paste full Avvo directory URLs, e.g. https://www.avvo.com/tax-lawyer/ca.html. If provided, these are used instead of the practice area + states above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "enrichProfiles": {
                        "title": "Enrich from profile pages",
                        "type": "boolean",
                        "description": "Visit each attorney's profile page for extra data (law-firm website, years of experience, practice areas). Slower but richer. Required for email enrichment.",
                        "default": false
                    },
                    "enrichEmails": {
                        "title": "Find emails from firm websites",
                        "type": "boolean",
                        "description": "For attorneys whose profile lists a law-firm website, visit it and try to extract a contact email. Avvo itself does not publish emails, so coverage is partial (only attorneys with a website that exposes an email). Slower. Automatically enables profile enrichment.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max attorneys",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of attorneys to return across all searches. Set 0 for no limit.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings. US residential is required and set by default (Avvo blocks datacenter IPs).",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
