# NCARB Architects Directory Scraper (`parseforge/ncarb-architects-directory-scraper`) Actor

Searches the public NCARB architects directory by name, keyword, or state and returns each architect's license record as a flat row with license number, status, firm, and contact details.

- **URL**: https://apify.com/parseforge/ncarb-architects-directory-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### NCARB Architects Directory Scraper

**Scrape architect license records from the official NCARB directory by name, keyword, or state, up to a million per run.** Every record includes license number, status, firm, and contact details. No login or API key. Export to CSV, JSON, Excel, or XML.

Finding licensed architects for outreach, due diligence, or market analysis means searching state-by-state or paying for lead lists that go stale. The NCARB Architects Directory is the authoritative source for U.S. architect credentials, but it offers no bulk export. This Actor searches the public directory by architect name, firm keyword, or state, and returns every matching record in one flat dataset.

| Who uses it | What they scrape NCARB Architects Directory for |
|---|---|
| Building product manufacturers | Build a prospecting list of licensed architects by state for specification-driven sales. |
| Recruiters and staffing firms | Find credentialed architects in a target region for placement opportunities. |
| Legal and compliance teams | Verify an architect's active license status and jurisdiction before contract award. |
| Market researchers | Map the density and distribution of licensed architects across U.S. states. |

### What it does

This Actor searches the NCARB public directory by name, keyword, or state and returns each architect's license record as a flat row.

- 🔍 **Name or keyword search:** enter an architect's name or a firm keyword to find matching records.
- 🗺️ **State filtering:** restrict results to a single U.S. state or territory using the two-letter code.
- 📊 **Volume control:** set a maximum number of records to collect, from a single lookup to a full market sweep.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with NCARB Architects Directory data

**🏗️ Build a specification sales list.**

A building product rep searches for architects in Texas and exports a CSV of names, firms, and contact details to load into their CRM.

**📋 Verify credentials before hiring.**

A compliance officer checks that a shortlisted architect holds an active license in the project's state before issuing a contract.

**📍 Map architect availability by region.**

A market analyst runs state-by-state searches to count licensed architects and identify underserved markets for a new office.

**🔎 Find a specific architect's record.**

A recruiter searches by an architect's last name to confirm their current firm and license status before reaching out.

### Why choose this scraper

| | What you get |
|---|---|
| **Official NCARB data** | License records pulled directly from the authoritative national directory, not a third-party aggregator. |
| **Bulk export ready** | Every record lands in a structured dataset you can download as CSV, JSON, Excel, or XML. |
| **No manual lookups** | Search once and collect hundreds or thousands of records instead of clicking through individual profiles. |

### How it compares

No other Store actor targets NCARB Architects Directory the same way, so the honest comparison is with the alternatives teams actually weigh.

| | NCARB Architects Directory Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When NCARB Architects Directory changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor with an architect name, firm keyword, or two-letter state code, alone or together, and the max items cap stops the run once you have enough records. The Input tab lists every parameter.

A first run with the defaults:

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

A larger pull:

```json
{
 "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.0085 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [NCARB Architects Directory Scraper](https://apify.com/parseforge/ncarb-architects-directory-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to NCARB Architects Directory through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/ncarb-architects-directory-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that the architect name or keyword is spelled correctly and that the selected state matches their licensure. Try broadening the search by leaving the state field empty or using a shorter keyword.

**The run stopped before reaching my maxItems limit.**

The Actor stops when the NCARB directory returns no more results for your query. This means you have collected every available record matching your search criteria.

**Some fields are empty in my dataset.**

The NCARB directory does not always display every field for every architect. If a firm name or contact detail is missing from the public profile, that field will be blank in your export.

**The run timed out or took too long.**

Large searches with high maxItems values can take time. Try reducing the maxItems count or narrowing your search with a more specific query or a single state.

**I got an error about the state code.**

Use the dropdown in the input editor to select a valid two-letter state code. Typing a code manually may cause a mismatch if it is not in the accepted list.

### FAQ

| Question | Answer |
|---|---|
| What data does this Actor return for each architect? | Each record includes the architect's full name, license number, license status, state of licensure, firm name, and contact information as displayed on the NCARB directory. |
| Can I search by firm name instead of architect name? | Yes. The query field accepts firm names and keywords. The NCARB directory search matches against both individual names and firm names. |
| Does this Actor require an NCARB account or login? | No. It reads the public-facing NCARB directory, which does not require registration or authentication to search. |
| Can I scrape architects from multiple states in one run? | The state filter accepts one state per run. To collect architects from multiple states, run the Actor once per state and merge the datasets afterward. |
| How many records can I collect in a single run? | You set the maximum with the maxItems field, up to 1,000,000 records. The Actor stops when it reaches that count or when no more results match your query. |
| Is the data real-time or cached? | The Actor queries the live NCARB directory on each run, so you get the current license status and details as they appear on the site. |
| What export formats are supported? | You can export your dataset as CSV, JSON, Excel, or XML from the Apify platform after the run completes. |
| Can I leave both the name and state fields empty? | Yes. If you leave both fields empty, the Actor will attempt to browse the directory without filters, subject to whatever results the NCARB site returns for an open search. |
| Does this Actor handle U.S. territories like Puerto Rico or Guam? | Yes. The state dropdown includes DC, Puerto Rico, US Virgin Islands, and Guam in addition to all 50 states. |
| What if an architect is licensed in multiple states? | The NCARB directory typically shows each state licensure as a separate record. The Actor returns each record as it appears in the search results. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by National Council of Architectural Registration Boards. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `query` (type: `string`):

Architect name or firm to search.

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

Two-letter US state code (e.g. CA, NY, TX).

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

How many architects to collect per run.

## Actor input object example

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

# Actor output Schema

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

No description

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

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

# Run the Actor and wait for it to finish
run = client.actor("parseforge/ncarb-architects-directory-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": "",
  "maxItems": 10
}' |
apify call parseforge/ncarb-architects-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/ncarb-architects-directory-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/fMTjNoAmdGVIfueaf/builds/HSC71Q26QehEwqjoF/openapi.json
