# LA Business Licenses Scraper | City of Los Angeles (`parseforge/la-business-licenses-scraper`) Actor

Pull City of Los Angeles business license records with business name, NAICS code, address, owner, issue date, and status. Filter by zip or NAICS. Ideal for B2B lead generation, market research, and tracking small business activity across Los Angeles.

- **URL**: https://apify.com/parseforge/la-business-licenses-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🌴 LA Business License Scraper

> 🚀 **Export every active business registered with the City of Los Angeles complete with NAICS code, address, and council district.**

> 🕒 **Last updated:** 2026-05-25 · **📊 19 fields** per record · **500,000+ registered businesses** · **City of Los Angeles**

The LA Business License Scraper pulls the LA City Office of Finance active business tax registration list directly from the LA Open Data portal, surfacing every business that has filed for an LA tax registration certificate.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Journalists and civic-tech researchers | Public-records reporting, accountability dashboards |
| Real-estate and insurance analysts | Neighborhood risk modeling, due diligence |
| Marketers and lead-gen teams | Business prospecting, market sizing |
| Data engineers and BI teams | ETL pipelines, automated alerting |
| Academics and urban planners | Policy research, public-health analysis |

### 📋 What the LA Business Licenses Scraper does

- Pulls live records from the official open-data API in batches of up to 1,000 rows per request
- Lets you filter by the source's own native columns before download (no post-processing required)
- Returns one normalized JSON row per record with stable, predictable field names
- Pushes results to a clean Apify dataset that exports to CSV, Excel, JSON, or XML
- Auto-paginates so you can pull thousands of records in one run

> 💡 **Why it matters:** government open-data portals throttle, rate-limit, and break under heavy load. This actor wraps the official endpoint, handles pagination, normalizes nulls, and gives you a stable schema even when the source UI rearranges its dashboard.

### 🎬 Full Demo

_🚧 Coming soon - GIF demo of the actor running in Apify Console._

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td>maxItems</td><td>integer</td><td>No</td><td>How many records to pull. Free plan caps at 10.</td></tr>
<tr><td>Filters</td><td>string</td><td>No</td><td>Optional source-native filters narrow results before download.</td></tr>
</table>

```json
{
  "maxItems": 100
}
````

```json
{
  "maxItems": 500
}
```

> ⚠️ **Good to Know:** the source endpoint is a public government open-data API. Records reflect what the agency has published as of its most recent refresh cycle and may not be real-time.

### 📊 Output

| Field | Description |
|---|---|
| `imageUrl` | Image URL (always null for tabular records) |
| `title` | Primary record title (business name or activity) |
| `url` | Link back to the open data portal page |
| `id` | Stable identifier for this record |
| `location_account` | Source field `location_account` |
| `business_name` | Source field `business_name` |
| `dba_name` | Source field `dba_name` |
| `street_address` | Source field `street_address` |
| `city` | Source field `city` |
| `zip_code` | Source field `zip_code` |
| `location_description` | Source field `location_description` |
| `mailing_address` | Source field `mailing_address` |
| `mailing_city` | Source field `mailing_city` |
| `mailing_zip_code` | Source field `mailing_zip_code` |
| `naics` | Source field `naics` |
| `primary_naics_description` | Source field `primary_naics_description` |
| `council_district` | Source field `council_district` |
| `location_start_date` | Source field `location_start_date` |
| `location_end_date` | Source field `location_end_date` |
| `sourceUrl` | Open data portal URL |
| `scrapedAt` | ISO timestamp when the row was collected |
| `error` | Error message (null on success) - always last |

#### Sample records

```json
[
  {
    "imageUrl": null,
    "title": "539090 FILMPRODUCTIONS",
    "url": "https://data.lacity.org/Administration-Finance/Listing-of-Active-Businesses/6rrh-rzua",
    "id": "0000727369-0001-8",
    "location_account": "0000727369-0001-8",
    "business_name": "539090 FILMPRODUCTIONS",
    "dba_name": null,
    "street_address": "7740 SIDEWALK 173RD STREET",
    "city": "MIAMI",
    "zip_code": "33157-",
    "location_description": "7740 SIDEWALK 173RD 33157-",
    "mailing_address": null,
    "mailing_city": null,
    "mailing_zip_code": null,
    "naics": "512100",
    "primary_naics_description": "Motion picture & video industries (except video rental)",
    "council_district": "0",
    "location_start_date": null,
    "location_end_date": null,
    "sourceUrl": "https://data.lacity.org/Administration-Finance/Listing-of-Active-Businesses/6rrh-rzua",
    "scrapedAt": "2026-05-25T17:54:47.705Z",
    "error": null
  },
  {
    "imageUrl": null,
    "title": "KCB PARTNERSHIP",
    "url": "https://data.lacity.org/Administration-Finance/Listing-of-Active-Businesses/6rrh-rzua",
    "id": "0000114891-0001-2",
    "location_account": "0000114891-0001-2",
    "business_name": "KCB PARTNERSHIP",
    "dba_name": null,
    "street_address": "5541 LAUREL CANYON BLVD",
    "city": "VALLEY VILLAGE",
    "zip_code": "91607-2179",
    "location_description": "5541 LAUREL CANYON 91607-2179",
    "mailing_address": "17383 W SUNSET BLVD #A100",
    "mailing_city": "PACIFIC PALISADES",
    "mailing_zip_code": "90272-4181",
    "naics": "531100",
    "primary_naics_description": "Lessors of real estate (including mini warehouses & self-storage units)",
    "council_district": "2",
    "location_start_date": null,
    "location_end_date": null,
    "sourceUrl": "https://data.lacity.org/Administration-Finance/Listing-of-Active-Businesses/6rrh-rzua",
    "scrapedAt": "2026-05-25T17:54:47.759Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

| Feature | What it means |
|---|---|
| 🟢 Live data | Pulls directly from the source API on every run |
| 🔄 Auto-pagination | Walks the dataset 1,000 rows at a time |
| 🎯 Native filters | Filter by the columns the source already indexes |
| 📦 Stable schema | One row, one record, no nested table reshapes |
| 💾 Multiple formats | CSV, Excel, JSON, XML on the dataset page |

### 📈 How it compares to alternatives

| Option | Effort | Pagination | Filters | Refresh |
|---|---|---|---|---|
| **This actor** | Run once | Built-in | Built-in | Per run |
| Direct API | Write SoQL by hand | DIY | DIY | DIY |
| CSV portal export | Download megabytes every time | None | Limited | Manual |
| Custom scraper | Weeks of engineering | DIY | DIY | DIY |

### 🚀 How to use

1. [Create a free Apify account](https://console.apify.com/sign-up?fpr=vmoqkp) (free credits included)
2. Open the actor page
3. Set `maxItems` and any filters you need
4. Click **Run**
5. Download the dataset as CSV, Excel, JSON, or XML

### 💼 Business use cases

#### Market intelligence

Track the volume, type, and geography of records over time to surface trends before competitors do.

#### Compliance and risk

Pull official records for due diligence, vendor screening, insurance underwriting, or KYC workflows.

#### Lead generation

Filter the feed to surface businesses or properties matching a target profile.

#### Reporting and BI

Pipe the dataset into BI tools for ongoing public-records dashboards.

### 🔌 Automating LA Business Licenses Scraper

Connect this actor to **Make**, **Zapier**, **Slack**, **Airbyte**, **GitHub Actions**, **n8n**, **Pipedream**, or **Google Drive** through the standard Apify integrations to run the scraper on a schedule and push results downstream automatically.

### 🌟 Beyond business use cases

#### Research

Academics use this data for urban studies, public-health epidemiology, and policy analysis.

#### Personal

Curious citizens can audit their own neighborhood or block-level activity.

#### Non-profit

Civic-tech and accountability organizations track service delivery, equity, and government performance.

#### Experimentation

Data-science learners get a clean real-world dataset for ML practice.

### 🤖 Ask an AI assistant about this scraper

Paste the URL of this page into ChatGPT, Claude, Perplexity, or GitHub Copilot and ask: *"How would I use this scraper to build X?"*

### ❓ Frequently Asked Questions

**🟦 Is this real-time?**
It pulls the most recent data the source agency has published. Refresh cadence depends on the agency (often nightly or weekly).

**🟦 Do I need an API key?**
No. The source endpoint is public.

**🟦 What if a filter returns zero rows?**
The actor pushes a single `{error: ...}` record explaining the empty result so your pipelines do not silently fail.

**🟦 Can I run this on a schedule?**
Yes. Configure a schedule on the Apify Console for hourly, daily, or weekly runs.

**🟦 Can I get more than 10 records?**
Upgrade to a paid plan. Free users get a 10-record preview.

**🟦 What export formats are supported?**
CSV, Excel (XLSX), JSON, XML, RSS, and HTML from the dataset page.

**🟦 Does this respect rate limits?**
Yes. The actor uses a single sequential pagination loop.

**🟦 Will field names change?**
Field names are pinned to source API column names. If the source changes column IDs you may need an updated actor build.

**🟦 Can I use this commercially?**
The source data is public-domain government information. Always re-read the source's terms of use for your specific commercial application.

**🟦 What about privacy?**
This actor only returns data the agency has chosen to publish to the open-data portal. Records the agency suppresses are not included.

### 🔌 Integrate with any app

Make · Zapier · Slack · Airbyte · GitHub Actions · Google Drive · Webhooks · REST API · n8n · Pipedream · Bubble · Retool · Power Automate · Airtable · Notion.

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [NYC Restaurant Inspections](https://apify.com/parseforge/nyc-restaurant-inspections-scraper) | NYC DOHMH grades and violations |
| [Chicago Food Inspections](https://apify.com/parseforge/chicago-restaurant-inspections-scraper) | Chicago Department of Public Health results |
| [LA Business Licenses](https://apify.com/parseforge/la-business-licenses-scraper) | LA City active business registry |
| [NYC DCWP Business Licenses](https://apify.com/parseforge/nyc-business-licenses-scraper) | Every NYC consumer-protection licensed business |
| [Chicago 311 Service Requests](https://apify.com/parseforge/chicago-311-complaints-scraper) | All Chicago non-emergency complaints |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with LA Business Licenses or its publishing agency. Only publicly available data is collected.

# Actor input Schema

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `council` (type: `string`):

Filter to a single council district number.

## `naics` (type: `string`):

Filter by 6-digit NAICS code.

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

Scraped LA Business Licenses records

# 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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/la-business-licenses-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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/la-business-licenses-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 '{
  "maxItems": 10
}' |
apify call parseforge/la-business-licenses-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LA Business Licenses Scraper | City of Los Angeles",
        "description": "Pull City of Los Angeles business license records with business name, NAICS code, address, owner, issue date, and status. Filter by zip or NAICS. Ideal for B2B lead generation, market research, and tracking small business activity across Los Angeles.",
        "version": "0.1",
        "x-build-id": "kSdmOKFpdCQs3YUYf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~la-business-licenses-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-la-business-licenses-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/parseforge~la-business-licenses-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-la-business-licenses-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/parseforge~la-business-licenses-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-la-business-licenses-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": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "council": {
                        "title": "Council District",
                        "type": "string",
                        "description": "Filter to a single council district number."
                    },
                    "naics": {
                        "title": "NAICS Code",
                        "type": "string",
                        "description": "Filter by 6-digit NAICS code."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
