# Built In Scraper - US Tech Jobs & Companies | $3/1K Jobs (`santamaria-automations/builtin-scraper`) Actor

Extract tech job listings from BuiltIn.com. Returns job title, company, logo, location, work arrangement, posting date, and description snippet. Covers engineering, design, data, product, marketing, and sales roles across US cities.

- **URL**: https://apify.com/santamaria-automations/builtin-scraper.md
- **Developed by:** [Ale](https://apify.com/santamaria-automations) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Built In Scraper - US Tech Jobs & Companies

Extract tech job listings from [BuiltIn.com](https://builtin.com) — a leading US tech job board covering engineering, design, data, product, marketing, and sales roles. Get structured data including company info, locations, work arrangements, and descriptions. No code needed.

---

### What data can you extract?

Every job listing includes:

**Job details**
- Job title and unique ID
- Full description (plain text + raw HTML)
- Salary: structured min/max + display text (e.g. "170K-234K Annually")
- Experience level (Junior, Mid, Senior, Expert/Leader)
- Work arrangement (Remote, Hybrid, In-Office)
- Posting date
- Direct link to the full job posting

**Company details**
- Company name and logo URL
- Company HQ location
- Number of employees
- Year founded
- Industries (e.g. "eCommerce", "Fintech", "Software")
- Company description ("What We Do")

**Company enrichment** (optional, with `includeCompanyInfo: true`)
- Company profile URL on Built In
- Company website URL
- Tech stack (e.g. "Golang", "React", "PostgreSQL", "AWS")
- All office locations (e.g. "San Francisco", "New York", "London")
- Total active job openings
- Link to all company jobs on Built In

**Location**
- City and state (e.g. "San Francisco, CA", "New York, NY")

**Meta**
- Source URL on Built In
- Which search query or URL found the job
- Scrape timestamp

---

### Pricing

**$3 per 1,000 jobs** — simple, predictable pricing.

| Jobs | Cost |
|------|------|
| 10 jobs | **$0.03** |
| 100 jobs | **$0.30** |
| 1,000 jobs | **$3.00** |

Every job includes company info, location, work arrangement, and description. No hidden fees, no monthly subscription.

---

### Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client — Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

**Apify MCP server URL:**

````

https://mcp.apify.com?tools=nanoscrape/builtin-scraper

````

**Example prompt once connected:**

> "Use `builtin-scraper` to find software engineering jobs in San Francisco. Return the top 20 as a table with title, company, and work arrangement."

> "Use `builtin-scraper` to extract remote tech jobs. Show me companies hiring for data roles."

---

### How to use

The scraper supports two input modes:

#### 1. Search URLs (recommended)

Go to [builtin.com/jobs](https://builtin.com/jobs), pick a category or city, and paste the URL. All filters are preserved automatically.

```json
{
  "searchUrls": [
    "https://builtin.com/jobs/dev-engineering",
    "https://builtin.com/jobs/remote",
    "https://builtin.com/jobs/san-francisco"
  ]
}
````

**Supported categories:**

- `/jobs/dev-engineering` — Software Engineering
- `/jobs/design-ux` — Design & UX
- `/jobs/data-analytics` — Data & Analytics
- `/jobs/product` — Product
- `/jobs/marketing` — Marketing
- `/jobs/sales` — Sales
- `/jobs/remote` — Remote only
- `/jobs/{city}` — By city (e.g. san-francisco, new-york, chicago, austin, seattle, denver, boston, los-angeles)

#### 2. Search Keywords

Enter one or more keywords. The scraper searches Built In and returns matching jobs.

```json
{
  "searchQueries": ["software engineer", "product manager", "data scientist"],
  "maxResultsPerQuery": 50
}
```

***

### Input reference

| Field | Type | Description |
|-------|------|-------------|
| `searchUrls` | string\[] | Category or city URLs from [builtin.com/jobs](https://builtin.com/jobs). |
| `searchQueries` | string\[] | One or more search keywords. |
| `maxResultsPerQuery` | integer | Max results per keyword/URL (default 100). |
| `maxResults` | integer | Total cap across all modes (default 10, 0 = unlimited). |
| `includeJobDetails` | boolean | Fetch each job's detail page for full description, salary, experience level, and company info (default: true). |
| `includeCompanyInfo` | boolean | Fetch company profile page for tech stack, website, and office locations (default: false). |
| `maxConcurrency` | integer | Parallel detail/company page fetches (default 5). |
| `proxyConfiguration` | object | Proxy settings. Datacenter proxies work great. |

***

### Output example

```json
{
  "id": "8234567",
  "title": "Senior Software Engineer",
  "company": "Stripe",
  "company_logo_url": "https://cdn.builtin.com/cdn-cgi/image/f=auto,q=80/logos/stripe-logo.png",
  "location": "San Francisco, CA",
  "work_arrangement": "Remote or Hybrid",
  "salary_min": 170000,
  "salary_max": 234000,
  "salary_currency": "USD",
  "salary_period": "year",
  "salary_text": "170K-234K Annually",
  "experience_level": "Senior",
  "description_snippet": "We're looking for a Senior Software Engineer to join our Payments team...",
  "description_full": "About the Role\nWe're looking for a Senior Software Engineer to join our Payments team...",
  "company_hq": "San Francisco, CA",
  "company_employees": "8,000 Employees",
  "company_founded": "2010",
  "company_industries": ["Fintech", "Software", "Payments"],
  "company_description": "Stripe is a technology company that builds economic infrastructure for the internet...",
  "company_profile_url": "https://builtin.com/company/stripe",
  "company_website": "https://stripe.com",
  "company_tech_stack": ["Ruby", "Go", "React", "PostgreSQL", "AWS", "Kafka", "Kubernetes"],
  "company_offices": ["San Francisco", "New York", "Dublin", "Singapore", "Tokyo"],
  "company_total_jobs": 62,
  "company_all_jobs_url": "https://builtin.com/jobs?companyId=12345&allLocations=true",
  "posted_at": "6 Hours Ago",
  "source_url": "https://builtin.com/job/senior-software-engineer/8234567",
  "source_platform": "builtin.com",
  "search_query": "https://builtin.com/jobs/dev-engineering",
  "scraped_at": "2026-05-04T14:30:00Z"
}
```

***

### Speed

| Jobs | ~Time | Memory |
|------|-------|--------|
| 10 | **~5 seconds** | ~16 MB |
| 100 | **~30 seconds** | ~16 MB |
| 1,000 | **~5 minutes** | ~20 MB |

***

### Integrations

This actor works with all Apify integrations:

- **API** — trigger runs and download results programmatically
- **Webhooks** — get notified when a run completes
- **Zapier & Make** — connect to 5,000+ apps
- **Google Sheets** — export directly to a spreadsheet
- **Slack, Email** — get notifications with results

***

### Related actors

- [Indeed Scraper](https://apify.com/santamaria-automations/indeed-scraper) — 60+ countries, salary & company enrichment
- [LinkedIn Jobs Scraper](https://apify.com/santamaria-automations/linkedin-jobs-scraper) — LinkedIn job listings
- [RemoteOK Scraper](https://apify.com/nanoscrape/remoteok-scraper) — Remote job listings worldwide
- [Welcome to the Jungle Scraper](https://apify.com/santamaria-automations/welcome-to-the-jungle-scraper) — European tech jobs

***

Something not working? [Create an issue](https://console.apify.com/actors/TODO/issues) and we'll fix it fast.

# Actor input Schema

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

Paste one or more Built In search URLs. Go to builtin.com/jobs, pick a category or city, and copy the URL. Supports category pages (/jobs/dev-engineering), city pages (/jobs/san-francisco), and search results.

## `searchQueries` (type: `array`):

One or more search keywords (e.g. 'software engineer', 'product manager'). Each runs as a separate search. Results are deduplicated across queries.

## `maxResultsPerQuery` (type: `integer`):

Maximum results per search URL or keyword.

## `maxResults` (type: `integer`):

Total cap across all queries and search URLs. Set to 0 for unlimited.

## `includeJobDetails` (type: `boolean`):

Fetch each job's detail page for full description, salary, experience level, and company metadata. Increases run time but provides much richer data.

## `includeCompanyInfo` (type: `boolean`):

Fetch each company's profile page for website URL, tech stack, and office locations. Adds extra requests per unique company.

## `maxConcurrency` (type: `integer`):

Maximum number of concurrent detail/company page requests. Higher values are faster but use more memory and may trigger rate limits.

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

Proxy configuration. Default uses Apify datacenter proxies.

## Actor input object example

```json
{
  "searchUrls": [
    "https://builtin.com/jobs/dev-engineering"
  ],
  "maxResultsPerQuery": 100,
  "maxResults": 10,
  "includeJobDetails": true,
  "includeCompanyInfo": false,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

# Actor output Schema

## `jobListings` (type: `string`):

Dataset containing scraped tech job listings. Each record includes: job ID, title, company, logo, location, work arrangement, salary (min/max/text), experience level, full description, company HQ, employees, founded year, industries, company profile URL, website, tech stack, office locations, total active jobs, and all-jobs URL.

# 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 = {
    "searchUrls": [
        "https://builtin.com/jobs/dev-engineering"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("santamaria-automations/builtin-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 = { "searchUrls": ["https://builtin.com/jobs/dev-engineering"] }

# Run the Actor and wait for it to finish
run = client.actor("santamaria-automations/builtin-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 '{
  "searchUrls": [
    "https://builtin.com/jobs/dev-engineering"
  ]
}' |
apify call santamaria-automations/builtin-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Built In Scraper - US Tech Jobs & Companies | $3/1K Jobs",
        "description": "Extract tech job listings from BuiltIn.com. Returns job title, company, logo, location, work arrangement, posting date, and description snippet. Covers engineering, design, data, product, marketing, and sales roles across US cities.",
        "version": "1.0",
        "x-build-id": "tE5qheoTaRg1BTJeh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/santamaria-automations~builtin-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-santamaria-automations-builtin-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/santamaria-automations~builtin-scraper/runs": {
            "post": {
                "operationId": "runs-sync-santamaria-automations-builtin-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/santamaria-automations~builtin-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-santamaria-automations-builtin-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": {
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "Paste one or more Built In search URLs. Go to builtin.com/jobs, pick a category or city, and copy the URL. Supports category pages (/jobs/dev-engineering), city pages (/jobs/san-francisco), and search results.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQueries": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "One or more search keywords (e.g. 'software engineer', 'product manager'). Each runs as a separate search. Results are deduplicated across queries.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResultsPerQuery": {
                        "title": "Max Results per Query",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum results per search URL or keyword.",
                        "default": 100
                    },
                    "maxResults": {
                        "title": "Max Total Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Total cap across all queries and search URLs. Set to 0 for unlimited.",
                        "default": 10
                    },
                    "includeJobDetails": {
                        "title": "Include Job Details",
                        "type": "boolean",
                        "description": "Fetch each job's detail page for full description, salary, experience level, and company metadata. Increases run time but provides much richer data.",
                        "default": true
                    },
                    "includeCompanyInfo": {
                        "title": "Include Company Info",
                        "type": "boolean",
                        "description": "Fetch each company's profile page for website URL, tech stack, and office locations. Adds extra requests per unique company.",
                        "default": false
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of concurrent detail/company page requests. Higher values are faster but use more memory and may trigger rate limits.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy configuration. Default uses Apify datacenter proxies.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": []
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
