BuiltIn Scraper: US Tech Job Postings avatar

BuiltIn Scraper: US Tech Job Postings

Pricing

from $0.48 / 1,000 job postings

Go to Apify Store
BuiltIn Scraper: US Tech Job Postings

BuiltIn Scraper: US Tech Job Postings

Extract tech job postings from BuiltIn.com (US): title, company, salary range, location, remote status, industry and full description.

Pricing

from $0.48 / 1,000 job postings

Rating

0.0

(0)

Developer

Vivien MORVAN

Vivien MORVAN

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape BuiltIn.com tech job postings and get clean structured data: title, company, salary range, location, remote status, industry and full description. No login, no proxy needed — this actor reads BuiltIn's own public job board, the US-wide site that covers every region (New York, LA, Boston, Austin, Colorado, Chicago, Seattle, SF Bay Area and the rest of the country) from a single feed.

At a glance

What you getUS tech job postings from BuiltIn: title, company, location, remote, employment type, salary when disclosed, date, description.
Price$0.60 per 1,000 postings: a 50-posting test run costs about $0.04, start fee included.
Speed50 postings in about 30 seconds. No login, no proxy, no browser to configure.
Try itClick Try for free, fill the short form and run: the first 50 postings arrive in under a minute.
Keep it freshSchedule it daily and keep only the new postings: see "Monitor new postings daily" below.

What you can do with it

  • Monitor the US tech job market: new postings across every tech company on BuiltIn, refreshed on your own schedule.
  • Feed a job alert or an aggregator: run it daily and keep only the postings with a datePosted you have not seen yet.
  • Find companies that are hiring: which employers are posting tech roles right now, and in which city or industry.
  • Benchmark tech salaries: published salary ranges by role, company and location, including fully remote roles.

Input

FieldWhat it does
Maximum number of postingsThe run stops once this many postings are saved. Default 50.
Include full descriptionAdds the full job description as plain text. Default on.

The actor reads BuiltIn's default job listing (no keyword or location filter): robots.txt disallows the site's own ?search= and per-city/per-category query filters, so this actor never targets them.

Output

One record per posting:

[
{
"id": "11853960",
"url": "https://builtin.com/job/senior-software-engineer-developer-experience/11853960",
"title": "Senior Software Engineer, Developer Experience",
"companyName": "Block",
"isRemote": true,
"city": null,
"region": null,
"country": null,
"industries": ["Blockchain", "eCommerce", "Fintech", "Payments", "Software"],
"salaryMin": null,
"salaryMax": null,
"employmentType": "FULL_TIME",
"datePosted": "2026-10-24"
},
{
"id": "11852908",
"url": "https://builtin.com/job/principal-digital-program-manager/11852908",
"title": "Principal Digital Program Manager",
"companyName": "Caterpillar",
"isRemote": false,
"city": "Irving",
"region": "Texas",
"country": "USA",
"industries": ["Artificial Intelligence", "Cloud", "Industrial"],
"salaryMin": 147760,
"salaryMax": 221640,
"employmentType": "FULL_TIME",
"datePosted": "2026-10-23"
},
{
"id": "11395783",
"url": "https://builtin.com/job/account-executive-new-business/11395783",
"title": "Account Executive, New Business",
"companyName": "The Tara Group",
"isRemote": true,
"city": null,
"region": null,
"country": "USA",
"industries": ["AdTech", "Digital Media", "Marketing Tech", "Analytics"],
"salaryMin": 75000,
"salaryMax": 100000,
"employmentType": "FULL_TIME",
"datePosted": "2026-10-24"
}
]

Each full record also carries companyUrl, salaryCurrency, salaryPeriod, validThrough and description. Export the dataset as JSON, CSV or Excel, or read it through the Apify API.

Good to know

  • One site covers the whole country: BuiltIn consolidated its old per-city network (BuiltIn NYC, LA, Boston, Austin, Colorado, Chicago, Seattle...) into builtin.com, which has no pagination limit in its own robots.txt.
  • city/region are empty for fully remote postings; isRemote tells you which postings are remote regardless of the address fields.
  • Salary fields are empty when the employer does not publish a range (about 1 in 5 postings on BuiltIn).
  • No browser and no proxy needed: BuiltIn serves its listing and job pages as plain HTML, so runs are fast and cheap.
  • The dataset contains job postings only. No candidate or recruiter personal data is collected: any e-mail address or phone number that shows up in a description (recruiting mailbox, accommodation contact) is stripped before the record is saved.

Why this one

  • One feed, the whole country. No need to run one actor per city: builtin.com itself now aggregates every US region BuiltIn used to split across separate sites.
  • Remote made explicit. isRemote is read from the posting's own jobLocationType, not guessed from the city text.
  • Pay only for what you get. Priced per result, with no monthly rental and platform usage included.

Who uses it

  • Recruiting agencies and HR teams watch which companies hire, for which roles and at which salary, in their market.
  • Job boards and aggregators feed their own site with fresh postings in a stable schema, without maintaining a parser.
  • B2B sales and lead generation: a company that is hiring is a company that is buying. Filter postings by role to spot prospects early.
  • Labour-market research: salaries, skills in demand, remote share and hiring volume over time.

Pricing

Pay per result: $0.60 per 1,000 postings, plus $0.01 per run start with the default 4 GB of memory. For example, 100 postings cost about $0.07. You only pay for the postings you receive, and platform usage is included in that price. Store discounts apply automatically on paid Apify plans: up to 20% off every event on the higher tiers.

Run it from your code

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('bibian/builtin-jobs-scraper').call({
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient(token="<APIFY_TOKEN>")
run = client.actor("bibian/builtin-jobs-scraper").call(run_input={
"maxItems": 50
})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Monitor new postings daily and connect your tools

  1. Schedule it. Save a task, set its publication date filter to the shortest window, and schedule it daily with Apify Schedules. Deduplicate on the id field if you keep your own copy. Tick Only new results in the input and each run returns, and charges, only the postings that earlier runs of the same search did not deliver.
  2. Push the results where you work. Add an Apify integration or a webhook to the task: Google Sheets, Slack, Make, Zapier, n8n or your own endpoint, triggered at the end of every run.
  3. Call it from your stack. The API and the JavaScript and Python clients return the dataset as JSON, CSV or Excel.
  4. Let an AI agent use it. Through the Apify MCP server, assistants such as Claude or ChatGPT can search the Store, read this page and run the actor as a tool.

Frequently asked questions

Do I need an account, cookies or a proxy for BuiltIn? No. The actor reads publicly visible pages only.

Which formats can I export? JSON, CSV, Excel, XML, HTML table or RSS, from the dataset page or through the API.

Is it legal to scrape? The actor collects publicly visible postings and respects the robots.txt rules of the site. How you use the data is your responsibility: check the site's terms and the laws that apply to you, for example the GDPR.

Something does not work? Open an issue in the Issues tab. Every public actor is test-run daily and the broken ones are repaired.

Did this save you time? A short review on the Store page helps other people find the actor, and tells me what to improve next.

More job scrapers by the same author