BuiltIn.com Tech Companies & Tech Stack Scraper
Pricing
from $3.00 / 1,000 results
BuiltIn.com Tech Companies & Tech Stack Scraper
Built In scraper & API: export tech companies and startups by city and industry — company name, description, website, industry, size, funding stage, tech stack and open jobs. Tech-company intelligence and B2B lead generation — fast, no login.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
1
Bookmarked
6
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
BuiltIn.com Tech Companies & Tech Stack Scraper — Category-Tagged Technology Fingerprints for Every Startup on Built In
The fastest way to scrape Built In and extract category-labelled tech stacks (LANGUAGES / FRAMEWORKS / DATABASES / LIBRARIES / DEVOPS / SERVICES / CRM / ANALYTICS) from every company profile on builtin.com. This Built In scraper pulls the unique Technology We Use fingerprint that LinkedIn, Crunchbase, AngelList and PitchBook do not publish — and turns it into a B2B SaaS prospecting list, recruiter pipeline, or competitive-vendor landscape in minutes. No login, no coding. HTTP-only.
Export to JSON, CSV, Excel, or API.
Built for B2B SaaS sales & revops teams, technical recruiters and sourcers, VC/PE analysts, competitive-intelligence researchers, DevRel teams, and anyone who needs a structured Built In tech stack dataset.
⚡ At a glance
| Feature | Details |
|---|---|
| Target Platform | Built In (builtin.com) — National & 14 Regional Tech Hubs (NYC, SF, Chicago, Austin, Seattle, Boston, LA, Colorado, Remote, etc.) |
| Discovery Modes | 85+ Industries, 40+ Technologies Used, 14 Tech Hub Cities, Company Name Search, Direct Slugs, or Start URLs |
| Standout Signal | Category-tagged Technology We Use stack (LANGUAGES, FRAMEWORKS, DATABASES, LIBRARIES, DEVOPS, CLOUD, ANALYTICS, etc.) |
| Pagination & Scale | Unlocked deep directory pagination (?page=2, 3, ...) + regional hub expansion for 1,000+ unique companies per run |
| Core Output Fields | name, slug, website, industry, industries[], location, offices[], employeeCount, foundedYear, techStack[], techStackByCategory, jobs[], perks[], socialLinks[] |
| Export Formats | JSON, CSV, Excel (XLSX), HTML, XML, JSON Lines, Apify REST API |
🔎 Why scrape Built In?
Built In is a tech-focused career platform used by thousands of startups, growth-stage scale-ups, and public tech companies to recruit engineering talent. To attract developers, these companies voluntarily publish a granular breakdown of the languages, frameworks, databases, cloud providers, observability stacks, and tools they actually run in production — the per-company Technology We Use panel.
That technology fingerprint is the single most valuable field Built In publishes that no other major company database carries in structured form. Competitive-intelligence platforms typically gate the same signal behind $5K–$30K-a-year contracts, and inference tools like BuiltWith or Wappalyzer only guess at a stack from public HTTP headers — they cannot see the backend databases, data warehouses, and internal tools companies disclose on Built In. Scrape Built In directly and you get what the company itself says it runs.
Collecting this by hand is painful: the stack is split across department tabs, the category labels are positional rather than semantic, firmographics hide behind inconsistent labels, and Built In rate-limits a single IP within a minute or two. This Built In scraper solves all of that and returns a clean, warehouse-ready row per company.
Common reasons people scrape Built In:
- Build technology-trigger prospect lists — "every Built In company using Snowflake / Kubernetes / MongoDB" for tech-stack-matched outbound
- Build recruiter and sourcing pipelines filtered by exact stack (e.g. PyTorch + AWS + Kubernetes employers)
- Map a competitive vendor landscape — Datadog vs New Relic, Snowflake vs Databricks, React vs Vue share-of-stack
- Enrich a CRM / warehouse with firmographics + a structured tech-stack fingerprint keyed on company slug
- Power VC / PE technical-maturity scoring (IaC + observability + CI/CD adoption as scaling signals)
- Track tech-stack adoption changes over time by diffing scheduled runs
- Replace expensive BuiltWith / HG Insights / TheirStack subscriptions for the companies that have a Built In profile
✨ What this Built In scraper does
This production-grade Apify Actor turns any public Built In company profile (builtin.com/company/{slug}) into a clean, structured JSON record.
- ✅ Discover by industry — pick from 85+ industry directories (
fintech-companies,artificial-intelligence-companies,cybersecurity-companies,healthtech-companies,gaming-companies,saas-companies, …). No company names needed. - ✅ Discover by technology — find every company that uses a specific technology (
aws-companies,python-companies,react-companies,kubernetes-companies,snowflake-companies,postgresql-companies, …) — Built In's standout signal. - ✅ Discover by city — target a tech hub (
san-francisco,new-york,boston,austin,seattle,chicago,remote-companies, …). - ✅ Target exact companies — paste company name search terms, exact profile slugs, or full Built In URLs.
- ✅ Automatic pagination — walks each Built In directory (
?page=2,?page=3, …), extracts real/company/{slug}links, de-duplicates globally, and returns hundreds of unique companies per run. - ✅ Category-tagged tech stack — emits both a flat
techStack[](each item{ name, category, iconUrl }) and a groupedtechStackByCategoryobject. In our latest verification run this field carried 7,719 technology items across 245 companies, 100% correctly category-tagged (0% fell into theOTHERcatch-all). - ✅ Firmographics —
name,website,description,industry,industries[],location,employeeCount,foundedYear. - ✅ Talent signals — recent
jobs[](title, jobId, slug, jobUrl),jobCount, andperks[]. - ✅ Fast & HTTP-only — pure HTTP extraction, no headless browser. ~0.5 s per company; 300 companies in under 3 minutes.
- ✅ Export anywhere — JSON, CSV, Excel (XLSX), HTML, XML, JSON Lines, or the Apify API.
Every record drops cleanly into Postgres, Snowflake, BigQuery, Salesforce, HubSpot, or Google Sheets.
Fields captured per company
- Identity —
name,slug,profileUrl,website,description - Firmographics —
industry,industries[],location,employeeCount,foundedYear - Tech stack —
techStack[](flat list with{name, category, iconUrl}),techStackByCategory(grouped object),techStackSize - Talent signals —
jobs[](recent postings),jobCount,perks[] - Provenance —
sourceUrl,scrapedAt
🎯 Use cases
- B2B SaaS sales / revops — build "every company on technology X" (and "NOT on Y") lists for tech-stack-triggered outbound and account scoring.
- Technical recruiting & sourcing — find every employer running a target stack; source competitor talent by stack overlap; watch
jobCountfor hiring velocity. - Competitive intelligence — map observability, data-warehouse, CI/CD, and frontend-framework adoption across the Built In ecosystem.
- VC / PE & growth equity — score portfolio and target companies on technical maturity (IaC + observability + CI/CD); build comp sets by employee band + stack.
- DevRel & open source — detect new adopters of your framework by diffing
techStackweek-over-week; build customer-story and social-proof pipelines. - Conference & event sales — pull every company with Kubernetes for KubeCon, Snowflake for Snowflake Summit, or a
SERVICES/cloud entry for Re:Invent-style events. - Market research & analysts — quantify adoption ("what % of Built In companies run Snowflake") and produce year-over-year migration narratives.
- ABM & ad targeting — power account-based campaigns with stack-defined target accounts that map exactly to your ICP.
📥 Input
You almost never need a company name. The fastest way to build a Built In target list is to pick one or more industries, technologies, or cities — the scraper walks the matching directory, paginates it, de-duplicates, and enriches every company with the full tech-stack fingerprint. Power users can paste exact slugs or start URLs. Leave everything blank for a fresh mixed sample across popular tech industries.
| Parameter | Type | Default | Description |
|---|---|---|---|
industries | array<string> | prefill ["artificial-intelligence-companies", "fintech-companies"] | One or more of 85+ industry options. Each resolves to a builtin.com/companies/type/{industry} directory the actor paginates and enriches. The easiest way to build a target list with no company names. |
technologies | array<string> | [] | Find companies that use a specific technology. Options include aws-companies, python-companies, react-companies, kubernetes-companies, snowflake-companies, postgresql-companies, tensor-flow-companies, and more. Resolved via builtin.com/companies/tech/{technology}. |
cities | array<string> | [] | Focus on a tech hub: san-francisco, new-york, boston, austin, seattle, chicago, denver, miami, remote-companies, and more. Resolved via builtin.com/companies/city/{city}. |
searchTerms | array<string> | [] | Company / brand names to look up directly (e.g. stripe, datadog). Each term is slugified and resolved to its Built In profile. |
companySlugs | array<string> | [] | Advanced: exact Built In profile slugs, e.g. mongodb, datadog, snowflake-computing-inc, plaid. Normalized to lower-case; a leading /company/ is stripped. |
startUrls | array<object|string> | [] | Advanced: paste full company URLs (https://builtin.com/company/{slug}) or directory URLs (https://builtin.com/companies/type/fintech-companies). A directory URL is paginated automatically as a discovery source. |
scrapeJobs | boolean | true | When true, extract up to 30 unique recent job postings per company (title, jobId, slug, jobUrl). Disable for a leaner, faster run. |
maxCompanies | integer | 0 (unlimited); prefill 100 | Hard cap on total companies saved across all sources. 0 = unlimited. (The legacy field name maxRecords is still accepted.) |
requestDelay | integer (ms) | 1000 | Delay between page fetches, plus jitter. 300–2000 ms is the useful range. |
maxConcurrency | integer | 3 | Parallel page fetches, 1–10. 2–4 is safe on a single IP; go higher only with proxy rotation enabled (see Tips). |
proxyConfiguration | object | { "useApifyProxy": false } | Proxy settings. For small runs no proxy is fine; for 300+ companies enable Apify Proxy (US) so IPs rotate and you avoid rate-limit (HTTP 429) throttling from a single datacenter IP. |
Example input
{"industries": ["artificial-intelligence-companies", "fintech-companies", "saas-companies"],"technologies": ["kubernetes-companies", "snowflake-companies"],"cities": ["new-york", "san-francisco"],"scrapeJobs": true,"maxCompanies": 300,"requestDelay": 300,"maxConcurrency": 8,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "US" }}
📤 Output
Every row is one company. All fields are nullable so you can ingest the dataset into a strict schema (Postgres, BigQuery) without per-record branching. The example below is a real, trimmed record from the latest verification run.
{"name": "Liberty Mutual Insurance","slug": "liberty-mutual-insurance","profileUrl": "https://builtin.com/company/liberty-mutual-insurance","website": "https://www.libertymutual.com/?utm_source=BuiltIn&utm_medium=BuiltIn&utm_campaign=BuiltIn","description": "Learn more about Liberty Mutual Insurance. Find jobs, explore benefits, and research company culture at Built In.","industry": "Artificial Intelligence","industries": ["Artificial Intelligence", "Fintech", "Insurance", "Marketing Tech", "Software", "Analytics"],"location": "Boston, MA, US","offices": null,"employeeCount": "40000","foundedYear": "1912","logoUrl": null,"techStack": [{ "name": "Python", "category": "LANGUAGES", "iconUrl": "https://static.builtin.com/dist/images/technologies/python.png" },{ "name": "C#", "category": "LANGUAGES", "iconUrl": "https://static.builtin.com/dist/images/technologies/c-sharp.png" },{ "name": "ASP.NET", "category": "FRAMEWORKS", "iconUrl": "https://static.builtin.com/dist/images/technologies/asp-net.png" },{ "name": "Django", "category": "FRAMEWORKS", "iconUrl": "https://static.builtin.com/dist/images/technologies/django.png" },{ "name": "Snowflake", "category": "DATABASES", "iconUrl": "https://static.builtin.com/dist/images/technologies/snowflake.png" },{ "name": "MongoDB", "category": "DATABASES", "iconUrl": "https://static.builtin.com/dist/images/technologies/mongodb.png" }],"techStackByCategory": {"LANGUAGES": ["Python", "C#", "C++", "JavaScript"],"FRAMEWORKS": ["ASP.NET", "Django", "CircleCI", "Ember.js"],"DATABASES": ["Snowflake", "MongoDB", "PostgreSQL", "Redis", "Cassandra", "Oracle"]},"techStackSize": 151,"perks": ["Flexible Spending Account (FSA)", "Disability insurance", "Dental insurance", "Vision insurance", "401(K)"],"jobs": [{ "title": "Senior Software Engineer", "jobId": "11792317", "slug": "senior-software-engineer", "jobUrl": "https://builtin.com/job/senior-software-engineer/11792317" }],"jobCount": 12,"socialLinks": null,"sourceUrl": "https://builtin.com/company/liberty-mutual-insurance","scrapedAt": "2026-11-02T00:24:00.000Z"}
Field reference
| Field | Type | Description |
|---|---|---|
name | string | Company name from the profile <h1> (e.g. MongoDB, Datadog). 100% populated. |
slug | string | URL slug (mongodb, liberty-mutual-insurance). 100% — the natural primary key. |
profileUrl | string | Canonical Built In URL: https://builtin.com/company/{slug}. 100%. |
sourceUrl | string | The exact URL fetched (matches profileUrl). 100%. |
website | string | Company's own website (first external non-Built In link). Carries Built In UTM query params. ~99%. |
description | string | Company description from the profile meta tag. 100% (often Built In's standard "Learn more about … Find jobs …" summary). |
industry | string | Primary industry (first tag, e.g. Artificial Intelligence, Fintech). 100%. |
industries | array<string> | All industry tags on the profile. 100% (1–7+ per company). |
location | string | Headquarters string (e.g. Boston, MA, US, New York, NY, US). ~86%. |
employeeCount | string | Employee count as a number string (e.g. "40000", "500", "50"). ~96%. |
foundedYear | string | Four-digit founding year (e.g. 1912, 2015). ~96%. |
techStack | array<object> | Flat list of every technology — each { "name": "MongoDB", "category": "DATABASES", "iconUrl": "https://static.builtin.com/..." }. iconUrl 100% present when a tech item exists. |
techStackByCategory | object | Grouped object, e.g. { "LANGUAGES": [...], "FRAMEWORKS": [...], "DATABASES": [...] }. ~81% of companies publish a stack. |
techStackSize | integer | Total count of tech items across all categories (avg ~31, up to 150+). Present when a stack is published. |
jobs | array<object> | Up to 30 recent postings, each { title, jobId, slug, jobUrl }. ~97%. |
jobCount | integer | Count of unique jobs (post-dedup by jobId). 100% (0 when none). |
perks | array<string> | Perks/benefits as Built In lists them (e.g. 401(K), Dental insurance, Remote-friendly). ~84%. |
offices | array<string> | List of office-location strings — present only when Built In renders office addresses in static HTML. Most current profiles expose only a total-offices count (rendered client-side), so this field is usually null. |
socialLinks | array<string> | LinkedIn / Twitter / Facebook / Instagram / YouTube / TikTok URLs — present only when the profile exposes them as static outbound links. Built In no longer renders these on most profiles, so expect null. |
logoUrl | string | Company logo from og:image. Built In omits og:image on most profiles, so this is frequently null — use profileUrl for a canonical link. |
scrapedAt | string | ISO-8601 timestamp captured at run start. 100%. |
Honesty note:
techStack,offices,socialLinks, andlogoUrlare data-dependent — they reflect exactly what a given company's recruiting team chose to publish (and what Built In renders in static HTML). Large, engineering-forward employers typically return a huge category-tagged stack; small or non-engineering profiles may returnnull. The actor never fabricates data — it returnsnullso you can distinguish "not published" from "scrape failed".rating,reviewCount, andsearchQueryare reserved fields that are currently alwaysnull.
🔁 Pagination & scale
The scraper handles Built In's directory pagination for you — you never deal with ?page=N URLs by hand.
- Directory discovery — for every industry / technology / city you pick (or directory URL you paste), the actor fetches
builtin.com/companies/..., extracts the real/company/{slug}links, then advances?page=2,?page=3, … collecting slugs until it has enough companies to fill that source's share of themaxCompaniesbudget. Built In lists roughly 20 companies per directory page. - Smart termination — paging stops automatically when a page returns no new slugs (end of the directory) or after a safety ceiling, so the actor never loops forever.
- Global de-duplication — slugs and profile URLs are de-duplicated across every source, so overlapping industry/technology/city filters never produce duplicate rows. In the latest verification run, all 300 returned companies were unique (0 duplicates).
- Budget spreading — the
maxCompaniescap is divided evenly across all your discovery sources, keeping big result sets diverse instead of exhausting one industry before moving on. - De-duplicated detail fetch — the company-profile stage runs through an async worker pool (
maxConcurrency) with the same URL-level dedup, honouringmaxCompaniesas it saves rows.
Set maxCompanies: 0 for an unbounded crawl across many industries, or a small number like 15–100 for a fast sample. The practical ceiling for a single query set is "all unique companies Built In lists for your chosen filters" — broad multi-industry + multi-city inputs comfortably return hundreds of companies per run.
⚙️ How to use
- On Apify Console — open the actor, pick one or more industries / technologies / cities (or paste slugs / URLs), set
maxCompanies, and click Start. - Choose an export — download the dataset as JSON, CSV, Excel, HTML, XML, or JSON Lines from the dataset view, or pull it via the Apify API.
- Run via API —
POST https://api.apify.com/v2/acts/haketa~builtin-tech-companies-scraper/runs?token=YOUR_TOKENwith your input JSON (examples below). - Schedule it — use Apify's Scheduler (hourly / daily / weekly / cron) to keep a watchlist fresh; a weekly run is the sweet spot for tracking tech-stack adoption changes.
- Integrate — connect the Apify connector in Make, Zapier, or n8n; push to Google Sheets; or wire a run-complete webhook into your warehouse / Slack to trigger on new companies, new tech items, or new jobs.
API run (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/builtin-tech-companies-scraper").call(run_input={"industries": ["fintech-companies", "artificial-intelligence-companies"],"technologies": ["kubernetes-companies"],"companySlugs": ["mongodb", "datadog", "stripe", "snowflake-computing-inc", "plaid"],"scrapeJobs": True,"maxCompanies": 300,"proxyConfiguration": {"useApifyProxy": True, "apifyProxyCountry": "US"}})for company in client.dataset(run["defaultDatasetId"]).iterate_items():print(company["name"], "→", company["techStackSize"] or 0, "tech items")for category, items in (company.get("techStackByCategory") or {}).items():print(f" {category}: {', '.join(items)}")
API run (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('haketa/builtin-tech-companies-scraper').call({industries: ['saas-companies'],scrapeJobs: true,maxCompanies: 200,proxyConfiguration: { useApifyProxy: true, apifyProxyCountry: 'US' }});const { items } = await client.dataset(run.defaultDatasetId).listItems();// Find every company running Kubernetesconst k8s = items.filter(c => c.techStack?.some(t => t.name === 'Kubernetes'));console.log(`${k8s.length} companies on Kubernetes`);
API run (cURL)
curl -X POST "https://api.apify.com/v2/acts/haketa~builtin-tech-companies-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"companySlugs": ["mongodb", "datadog", "stripe"],"scrapeJobs": true,"maxCompanies": 100}'
💡 Tips
- Enable Apify Proxy (US) for runs over ~50–100 companies. Built In rate-limits a single IP fast — a high-concurrency, no-proxy crawl will start returning HTTP 429 within a minute. Set
proxyConfiguration: { "useApifyProxy": true, "apifyProxyCountry": "US" }so IPs rotate; this lets you safely runmaxConcurrency: 8and pull 300 companies in under 3 minutes. For small samples (≤30), no proxy is fine. - Combine filters for precision.
technologies: ["snowflake-companies"]+industries: ["fintech-companies"]narrows to fintech Snowflake users. All sources merge into one de-duplicated queue. - Filter the tech stack downstream. The richest signal is
techStackByCategory— queryDATABASES,LANGUAGES,SERVICES,ANALYTICS, etc. to build tech-trigger lists. - Turn off jobs for a leaner run. Set
scrapeJobs: falsewhen you only need firmographics + tech stack. - Schedule + diff for adoption tracking. Run weekly on a fixed slug list and compute the set difference of
techStacknames to catch newly-adopted technologies. - Use
slugas your primary key when upserting into a warehouse or CRM — it is 100% populated and unique.
❓ FAQ
Is scraping Built In legal?
This actor collects only publicly available data that Built In renders to any unauthenticated visitor at builtin.com/company/{slug}. It never logs in or bypasses a paywall. Review Built In's Terms of Service and your local regulations (GDPR/CCPA/CAN-SPAM), and use the data for legitimate business, research, recruiting, and journalism purposes. Compliance of downstream use is the data consumer's responsibility.
How many companies can I scrape, and how fast?
As many as Built In lists for your chosen filters. The latest verification run returned 300 unique companies in ~177 seconds (≈0.5 s/company) with proxy rotation. There is no hard cap from the actor — maxCompanies is your limit (0 = unlimited).
Do I need proxies or a login?
No login — Built In requires no account to view company profiles. Proxies are optional for small runs, but for 300+ companies you should enable Apify Proxy (US) so IPs rotate and you avoid the single-IP rate-limit (HTTP 429) that Built In applies under load.
What export formats are supported?
JSON, CSV, Excel (XLSX), HTML, XML, RSS, and JSON Lines — from the Apify dataset view or the dataset items API.
Is there an API?
Yes. Every Apify actor is callable via REST (POST /v2/acts/haketa~builtin-tech-companies-scraper/runs) and via the official Python / Node.js clients. You can also schedule runs and attach webhooks.
How fresh is the Built In data?
Live at run time. Each run fetches the current HTML directly from Built In — there is no caching layer. If a company updated its stack minutes before your run, you see the new entries.
Can I filter by technology or industry?
Yes. Pick from the technologies, industries, and cities dropdowns to discover companies by stack, sector, or hub — no company names required. You can also target exact companies via companySlugs, searchTerms, or startUrls.
Why do offices, socialLinks, or logoUrl sometimes come back null?
Built In now renders office locations, outbound social links, and many logos client-side (or omits them from the static page). The actor extracts them when they exist as static HTML and returns null otherwise — it never invents values. The techStack, firmographics, and jobs fields are extracted from static HTML and populate at high rates.
Why might techStack be null for some companies?
Smaller companies, recently-claimed profiles, or non-engineering companies often choose not to publish a stack. ~81% of companies in a broad run return a stack; the rest return null (not an empty array) so you can distinguish "not published" from "scrape failed".
How is this different from BuiltWith / Wappalyzer / TheirStack?
Those products infer a stack from HTTP headers, JS fingerprints, and DNS — they guess. This Built In scraper extracts what companies explicitly publish about their stack to recruit engineers, which is far more accurate for backend databases, frameworks, and internal tools that never leak to the public web — for the subset of companies that maintain a Built In profile.
How do I find a company's slug?
It is the last path segment of the Built In URL. For https://builtin.com/company/snowflake-computing-inc, the slug is snowflake-computing-inc. You can also paste the full URL into startUrls and the actor parses the slug automatically.
🔗 Related scrapers
If you're building a tech-talent / B2B SaaS intel / company-enrichment stack, these complementary scrapers by haketa plug in cleanly:
- YCombinator Companies Scraper — thousands of funded startups (overlay YC × Built In to find well-funded, tech-stack-disclosed targets)
- D&B Company Scraper — Dun & Bradstreet firmographics (revenue, employees, D-U-N-S) to enrich Built In companies with financial signals
- BBB Business Scraper — US Better Business Bureau directory for firmographic enrichment and contact data
- SBA Small Business Scraper — US Small Business Administration records for SMB lead-gen and vendor research
- H1B Visa Database Scraper — every US visa-friendly employer (cross-reference: which Built In companies actively H1B-sponsor?)
- Levels.fyi Scraper — compensation data at top tech companies (pair tech stack + comp for recruiter pitches)
- ProductHunt Launches & Makers Scraper — daily startup launches, makers, votes & reviews for VC / founder / recruiter intel
- SEEK Scraper (Australia / NZ) — APAC tech-job listings for cross-region talent pipelines
- Impressum / Legal Notice Extractor — pull company legal entity, address and contact from any website's impressum/legal page
Tech Stack Category Reference
Built In groups technologies under a set of UPPERCASE category labels. The categories observed most often in live runs (with counts of companies carrying each in the latest 300-company run):
| Category | Companies (of 245 with a stack) | What goes there |
|---|---|---|
LANGUAGES | 229 | C++, Java, JavaScript, Python, Go, Ruby, Scala, Kotlin, Swift, PHP, C#, R |
FRAMEWORKS | 213 | React, Vue, Angular, Django, Flask, Rails, Spring, Express, Node.js, Kubernetes, GraphQL, CircleCI |
DATABASES | 201 | MongoDB, PostgreSQL, MySQL, Redis, Cassandra, Oracle, Snowflake, Elasticsearch, DynamoDB |
LIBRARIES | 189 | jQuery, Lodash, Pandas, NumPy, client/server SDKs |
PROJECT MANAGEMENT | 185 | Jira, Asana, Trello, Monday, Linear |
DESIGN | 167 | Figma, Sketch, Adobe XD, InVision |
SERVICES | 166 | AWS, GCP, Azure, Heroku, Vercel, Cloudflare and managed services |
COLLABORATION | 164 | Slack, Notion, Confluence, Microsoft Teams |
CRM | 158 | Salesforce, HubSpot, Marketo, Pardot |
ANALYTICS | 142 | Looker, Tableau, Mixpanel, Amplitude, Segment |
CMS | 89 | WordPress, Contentful, Drupal, Sanity |
LEAD GEN | 78 | Outreach, ZoomInfo, marketing/outbound tooling |
EMAIL | 74 | Mailchimp, SendGrid, Marketo |
COMMERCE | 12 | Shopify, Magento and commerce platforms |
The actor preserves whatever UPPERCASE label Built In renders, so you always get the exact category. Anything without an explicit label is grouped under OTHER (0% of items in the latest run needed this fallback — category detection is reliable). Empty categories are not emitted.
How it works
Built In serves server-rendered HTML for every /company/{slug} profile and /companies/... directory, enabling fast, lightweight pure-HTTP extraction without browser overhead:
- Deep directory pagination (
?page=N) — walks industry, technology, and regional city directories across pages while tracking globally unique slugs (0 duplicates). - Regional hub expansion — for large runs (
maxCompanies: 1000+), automatically expands discovery across major regional tech hubs (NYC, SF Bay Area, Chicago, Austin, Seattle, Boston, Los Angeles, Denver/Colorado, Remote, Atlanta, Dallas, Washington DC, Miami, San Diego) and core tech verticals so runs never stop early. - Resilient HTTP fetching — 3-attempt retry with exponential backoff + jitter on transient network or rate-limit responses.
- Tech-stack normalizer — extracts each technology item along with its UPPERCASE category label, emitting both a flat
techStack[]array and a groupedtechStackByCategorymap. - Job deduplication — repeated
/job/{slug}/{id}links on a company profile collapse to unique job entries keyed onjobId.
Proxy
Proxy is optional and disabled by default. For standard runs (50–250 companies), direct datacenter execution works out of the box. For 300 to 1,000+ companies, enable Apify Proxy (US) so IP rotation prevents rate-limiting at scale.
Cost & performance
| Metric | Value |
|---|---|
| Engine | Pure HTTP (lightweight, no headless browser) |
| Runtime per company | ~0.4–0.5 s |
| Prefill verification (50 companies) | ~20–30 s, 0 duplicates |
| Large scale verification (300–1,000+ companies) | 100% core field coverage, 0 duplicates |
| Core-field coverage | name / slug / profileUrl / industry / jobCount 100%; website 99%; jobs 97%; employeeCount & foundedYear 96%; techStack 81%+ |
| Data freshness | Live at run time |
| Auth required | None |
| Proxy | Optional; Apify Proxy (US) recommended for 300+ companies |
Keywords
BuiltIn scraper · scrape Built In · builtin.com company scraper · Built In tech stack · Built In API · Built In data extractor · tech stack database · company tech stack lookup · category-tagged tech stack · developer recruiting database · technical recruiter intel · B2B SaaS prospecting · tech vendor landscape · competitive intel scraper · tech company directory scraper · company technology fingerprint · BuiltIn company profile scraper · technology adoption signals · tech-trigger sales leads · 1,000+ results pagination · bulk export JSON CSV Excel API · B2B intelligence
Support
- Bug reports & feature requests: use the Issues tab on the Apify Store page — please describe your use case so we can prioritize.
- Direct contact: through the Apify developer profile.
If this Built In scraper saves your sales / recruiting / DevRel team hours of manual research, a 5-star rating on the Apify Store helps other teams discover it. Thank you!
▶️ Run the BuiltIn.com Tech Companies & Tech Stack Scraper on Apify →
📋 Changelog
| Version | Date | Notes |
|---|---|---|
| 1.2.0 | 2026-11 | Unlocked 1,000+ deep directory pagination & regional hub expansion. Removed the 25-page directory cap, added global slug deduplication during discovery so overlapping directories never shortchange maxCompanies, added automatic fallback expansion across 14 regional tech hubs (NYC, SF, Chicago, Austin, Seattle, Boston, LA, Colorado, Remote, etc.) for 1,000+ company runs, and accepted maxCompanies / maxItems / maxRecords interchangeably. |
| 1.1.0 | 2026-11 | Large-run verification & firmographic enrichment. Verified 300 unique companies and 7,719 category-tagged tech items with 0 duplicates; improved JSON-LD + DOM extraction for employeeCount, foundedYear, location, and offices. |
| 1.0.0 | 2026-05 | Initial release of BuiltIn.com Tech Companies & Tech Stack Scraper with category-tagged techStackByCategory, industry/technology/city discovery, and recent job extraction. |