# Usa Home Repair Leads (`b2b_lead_generation/usa-home-repair-leads`) Actor

USA home repair leads finder that extracts verified contact details of local trade and contractor businesses, so sales and marketing teams can instantly build targeted outreach campaigns.

- **URL**: https://apify.com/b2b\_lead\_generation/usa-home-repair-leads.md
- **Developed by:** [B2B Lead Generation](https://apify.com/b2b_lead_generation) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 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

## USA Home Repair Leads Extractor

<p align="center">
  <img src="https://imgur.com/nd6FSRd.png" alt="USA Automotive Leads Hub" style="max-width:100%; border-radius:14px; width:680px;" />
</p>

Search and extract verified contact details from **American home services and trade registries**. This extractor delivers high-quality business records instantly, helping you find names, phone numbers, email addresses, full physical locations, and official websites in seconds.

Simply enter category keywords like `electrician`, `plumber`, or `painter`, narrow your target sector by selecting directory registries, set your limit, and retrieve clean business leads.

### What you can do

- **Search any home services niche**: extract family plumbers, local electricians, drywallers, painters, fence contractors, and more.
- **Filter by specific sector**: target high-level registry directories like electrical services, fencing, or drywall contractors separately.
- **Search multiple trade categories at once**: enter keywords such as `Electrician`, `Plumber`, and `Handyman` to extract them together in a single run.
- **Adjust your result size**: pull a short sample of 100 listings or set the limit up to 100,000 for a massive campaign.
- **Export in any format**: download structured results instantly in JSON, CSV, or Excel formats.

### Use cases

- **B2B trade outreach**: build targeted prospecting lists of local general contractors and specialized repair businesses.
- **Cold outreach campaigns**: collect verified business email addresses and phone numbers to pitch software, tools, material supplies, or marketing packages.
- **Agency and service prospecting**: find trade businesses that need updated websites, SEO help, booking systems, or lead generation services.
- **Supplier expansion**: locate regional contractors to establish material supply lines or sub-contracting networks.
- **Local directories and marketplaces**: populate review websites, local guides, or service booking platforms with structured contractor data.

### Input parameters

The filters are completely optional. Adjust them to achieve the perfect balance between broad results and high precision.

#### Search and filter

| Parameter | Type | Description |
|-----------|------|-------------|
| `categories` | string list | One or more category keywords to search, one per line (e.g. `electrician`, `plumber`). The extractor searches each in sequence and merges the results. Partial matches are supported. |
| `sourceCategories` | string list | Filter by specific registry directories (e.g. `Electricians`, `Dry_Wall_Contractor`). Matches target registry folders exactly. |
| `searchText` | string | Optional search text to match against either the categories list or the primary directory registry. |
| `matchType` | select | Choose whether to match exact full words (`full_word`) or any character substring (`any_character`). Default: `any_character`. |
| `limit` | integer | Maximum records to return. Min: 100, Max: 100,000. Default: `500`. |

#### Example input: single category search

```json
{
    "categories": ["electrician"],
    "matchType": "any_character",
    "limit": 500
}
````

#### Example input: multiple trade filters

```json
{
    "categories": ["electrician", "plumber", "handyman"],
    "sourceCategories": ["Electricians"],
    "matchType": "any_character",
    "limit": 2500
}
```

### Output data

The extractor writes matching listings directly to your default dataset. Each row contains:

```json
{
    "name": "S&H Remodel and Maintenance",
    "categories": "Contractor;Electrician;Handyman/Handywoman/Handyperson;Landscaper;Plumber;Pool cleaning service",
    "phone": "+19175551234",
    "email": "contact@shremodel.com",
    "address": "405 Central Park W, New York, NY 10025",
    "website": "https://www.shremodel.com",
    "source_category": "Electricians",
    "scrapedAt": "2026-06-06T12:00:00.000Z"
}
```

#### Output fields

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Registered business name of the provider. |
| `categories` | string | Detailed business categories, semicolon-separated. |
| `phone` | string | Contact phone number in international format. |
| `email` | string | Contact email address. |
| `address` | string | Full physical address of the business. |
| `website` | string | Business website URL. |
| `source_category` | string | The primary directory registry from which the lead was extracted. |
| `scrapedAt` | string | ISO timestamp when the record was processed. |

### Popular categories

These directories contain the largest volumes of professional records. Filter by these names in `sourceCategories` or enter keywords in the `categories` input.

#### Electrical & Utility Services

| Directory Category | Trades & services it covers |
|--------------------|----------------------------|
| `Electricians` | Residential/commercial electricians, electrical wiring, smart home setup, lighting |

#### Wall & Surface Contractors

| Directory Category | Trades & services it covers |
|--------------------|----------------------------|
| `Dry_Wall_Contractor` | Drywall installation, ceiling plastering, drywall repair, texturing |

#### Cleaning & Fabric Care

| Directory Category | Trades & services it covers |
|--------------------|----------------------------|
| `Dry_Cleaner` | Dry cleaners, full-service laundry, tailors, professional clothing alterations |

#### Perimeter & Barrier Installations

| Directory Category | Trades & services it covers |
|--------------------|----------------------------|
| `Fencing_Contractor` | Fencing contractors, gate installers, wood/vinyl/metal fence repair |

### Search tips

- **Use broad categories**: Searching for `clean` in `categories` matches dry cleaners, carpet cleaning services, house cleaners, and more in one run.
- **Filter by registry**: Specify `sourceCategories: ["Electricians"]` to narrow down results to only verified electrical contractors.
- **Match precise words**: If you get too much noise, switch `"matchType"` to `"full_word"`. This utilizes regex word boundaries and treats underscores as boundaries so that searching "Dry" matches "Dry\_Cleaner" but not "Drycleaners".
- **Export easily**: Download your results in Excel, CSV, or JSON directly from the dataset tab.

### FAQ

**Why do some records have blank email addresses?**
Not all businesses list a public email address. Phone numbers, physical addresses, and website URLs are still extracted, which are highly useful for direct outreach.

**Why did I get fewer results than my limit?**
The extractor returns records that match your specific search criteria. If only 250 local fencing contractors exist in the registry and your limit is 1,000, you will receive those 250 matched records.

**Can I run multiple searches together?**
Yes. You can input multiple category keywords (one per line) in the `categories` field, and the extractor will search them in sequence, merging all leads into a single consolidated dataset.

**How do I export my leads?**
Go to the dataset tab in your run console and choose your preferred format (JSON, CSV, or XML/Excel). You can also configure direct integrations to push data automatically to external apps.

<p align="center">
  <img src="https://imgur.com/04DpXvH.png" alt="USA Automotive Leads Hub" style="max-width:100%; border-radius:14px; width:680px;" />
</p>

### Integrations

Connect USA Home Repair Leads Extractor with other tools using [Apify integrations](https://apify.com/integrations). Push results straight to Google Sheets, trigger a Zapier workflow, sync with your CRM via Make, or pipe data into Airbyte. Use [webhooks](https://docs.apify.com/integrations/webhooks) to fire actions the moment results are ready.

# Actor input Schema

## `categories` (type: `array`):

One or more category keywords to search (e.g. 'electrician', 'plumber', 'roofing'). Searches each in sequence and merges results. Partial matches are supported.

## `sourceCategories` (type: `array`):

Specific home services directories/registries to filter by (e.g. 'Electricians', 'Dry\_Wall\_Contractor', 'Fencing\_Contractor'). One per line. Matches exact target registry directories.

## `searchText` (type: `string`):

Optional search text to match against either the 'categories' or 'source\_category' columns.

## `matchType` (type: `string`):

How category queries should match: 'Any Character Match' matches substrings, while 'Full Word Match' matches whole words only.

## `limit` (type: `integer`):

Maximum number of filtered records to return. Min: 100, Max: 100000. Default: 500.

## Actor input object example

```json
{
  "categories": [
    "electrician"
  ],
  "matchType": "any_character",
  "limit": 500
}
```

# 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 = {
    "categories": [
        "electrician"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("b2b_lead_generation/usa-home-repair-leads").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 = { "categories": ["electrician"] }

# Run the Actor and wait for it to finish
run = client.actor("b2b_lead_generation/usa-home-repair-leads").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 '{
  "categories": [
    "electrician"
  ]
}' |
apify call b2b_lead_generation/usa-home-repair-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=b2b_lead_generation/usa-home-repair-leads",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Usa Home Repair Leads",
        "description": "USA home repair leads finder that extracts verified contact details of local trade and contractor businesses, so sales and marketing teams can instantly build targeted outreach campaigns.",
        "version": "0.0",
        "x-build-id": "ayKeqaj0ta1CisKq8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/b2b_lead_generation~usa-home-repair-leads/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-b2b_lead_generation-usa-home-repair-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/b2b_lead_generation~usa-home-repair-leads/runs": {
            "post": {
                "operationId": "runs-sync-b2b_lead_generation-usa-home-repair-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/b2b_lead_generation~usa-home-repair-leads/run-sync": {
            "post": {
                "operationId": "run-sync-b2b_lead_generation-usa-home-repair-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",
                "properties": {
                    "categories": {
                        "title": "Category Keywords",
                        "type": "array",
                        "description": "One or more category keywords to search (e.g. 'electrician', 'plumber', 'roofing'). Searches each in sequence and merges results. Partial matches are supported.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sourceCategories": {
                        "title": "Source Registry Categories",
                        "type": "array",
                        "description": "Specific home services directories/registries to filter by (e.g. 'Electricians', 'Dry_Wall_Contractor', 'Fencing_Contractor'). One per line. Matches exact target registry directories.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchText": {
                        "title": "General Search Text",
                        "type": "string",
                        "description": "Optional search text to match against either the 'categories' or 'source_category' columns."
                    },
                    "matchType": {
                        "title": "Match Type",
                        "enum": [
                            "any_character",
                            "full_word"
                        ],
                        "type": "string",
                        "description": "How category queries should match: 'Any Character Match' matches substrings, while 'Full Word Match' matches whole words only.",
                        "default": "any_character"
                    },
                    "limit": {
                        "title": "Max Results Limit",
                        "minimum": 100,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of filtered records to return. Min: 100, Max: 100000. Default: 500.",
                        "default": 500
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
