Startup Scraper avatar

Startup Scraper

Pricing

from $1.05 / 1,000 startup profiles

Go to Apify Store
Startup Scraper

Startup Scraper

Collect source-linked startup profiles, jobs, and financing filings. Search profiles by keyword, URL, or ID, then filter jobs by pay or work setting and filings by reported amount.

Pricing

from $1.05 / 1,000 startup profiles

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

🚀 Explore startup profiles, jobs, and financing filings

Use this startup scraper to collect source-linked startup profiles, current startup jobs, or financing filings. Founders, recruiters, investors, and researchers can search company details, review hiring data, or study reported offerings in structured dataset rows.

Use cases

📊 See structured startup data

Each saved row is one startup profile, startup job, or financing filing. Rows keep a source URL, source name, collection time, and source-provided details when available. Financing rows can include a coverage note when the scan is bounded. Optional profile and job enrichment fields report whether requested details were available or failed.

▶️ Search one target at a time

Choose a target

Select Startup profiles, Startup jobs, or Financing filings. Each run uses one target.

Set filters

Use a profile keyword or direct profile URLs and IDs for profile runs. Use job filters for work setting and pay. Use filing filters for dates, issuers, security types, amounts, investors, and other listed source fields.

Save behavior

Set filters and an Actor Work Limit. Leave Actor Work Limit empty to return all available results until the source is exhausted. The Actor saves the first eligible occurrence of each source item and skips later matches of that same item from another keyword, URL, ID, or other submitted value. A saved row reflects the first match; it does not collect every later match.

Separate runs

To collect more than one target, start a separate run for each target. Separate search batches are not combined into one run. A profile keyword is matched against the startup name or description.

⚙️ Input

Choose one target per run. Fields for other targets stay visible but are ignored. Add one value per line to list fields.

Input fields

FieldTypeWhat it does
targetstringChoose startupProfiles, startupJobs, or financingFilings. The form starts with startupProfiles.
profileKeywordstringFind profiles when the word or phrase appears in the startup name or description. Leave empty for direct URLs or IDs. The form starts with AI.
startupUrlsOrIdsstring[]Add one startup profile URL or source ID per line for direct lookups. Use this for a large list of startups.
batchesstring[]Keep profiles from these batch names; add one per line.
hiringStatestringKeep profiles with this current-hiring state. Any turns this filter off.
lifecycleStatusesstring[]Keep profiles with these source status values; add one per line.
companySizesstring[]Keep profiles with these source company-size values; add one per line.
topCompanyOnlybooleanKeep only profiles the source marks as top companies.
locationsstring[]Keep profiles whose source location matches one of these values; add one per line.
regionsstring[]Keep profiles whose source region matches one of these values; add one per line.
marketsstring[]Keep profiles that match these source market values; add one per line.
technologiesstring[]Keep profiles that match these source technology values; add one per line.
tagsstring[]Keep profiles with these source tags; add one per line.
remoteStatusstringKeep jobs with this work setting: Any, remote, hybrid, or onsite.
minimumSalarynumberKeep jobs with pay at or above this amount; use the amount shown by the source.
maximumSalarynumberKeep jobs with pay at or below this amount; use the amount shown by the source.
filingDateFromstringKeep filings dated on or after this date. Use YYYY-MM-DD. Results are ordered by reported amount, highest first.
filingDateTostringKeep filings dated on or before this date. Use YYYY-MM-DD.
issuersstring[]Keep filings from these issuer names; add one name per line.
statesstring[]Keep filings from issuers in these states; add one state per line.
securityTypesstring[]Keep filings with these source security types; add one value per line.
exemptionsstring[]Keep filings with these source exemptions; add one value per line.
amendmentStatusstringKeep original or amended filings. Any turns this filter off.
minimumReportedAmountnumberKeep filings with a reported amount at or above this value.
minimumInvestorCountintegerKeep filings with at least this many reported investors.
maximumInvestorCountintegerKeep filings with no more than this many reported investors.
industriesstring[]For profiles and filings, keep results that match at least one source industry; add one per line.
maxItemsintegerActor Work Limit. The form starts with 25. Stop after this many records, or leave it empty to return all available results until the source is exhausted.

Example input

This example comes from a successful current-beta profile run.

{
"target": "startupProfiles",
"profileKeyword": "AI",
"maxItems": 25
}

🧾 Output

The run output provides a dataset link. The dataset contains one of the three row shapes below, based on the target you chose.

Dataset link

FieldTypeWhat it does
datasetstringLink to the run dataset, where the saved profile, job, and financing rows are available.

Startup profile fields

FieldTypeWhat it does
recordTypestringStable value for this shape: startupProfile.
namestringStartup name from the source.
recordUrlstringPublic URL for the startup profile.
sourceobjectPublic source and collection time for the row.
source.namestringName of the public source.
source.idstringID used to open or check the source record, when available.
source.collectedAtstringTime when the row was collected.
discoveryInputstringKeyword, URL, or ID that found the startup.
websiteUrlstringStartup website URL, when provided.
descriptionstringStartup description from the source.
logoUrlstringPublic logo URL, when available.
industriesstring[]Industries listed by the source.
marketsstring[]Markets listed by the source.
technologiesstring[]Technologies listed by the source.
tagsstring[]Tags listed by the source.
locationsstring[]Startup locations listed by the source.
regionsstring[]Startup regions listed by the source.
batchstringStartup batch listed by the source.
lifecycleStatusstringStartup lifecycle status listed by the source.
companySizestringSource company-size value.
teamSizeintegerNumber of team members listed by the source.
hiringStatestringCurrent-hiring state listed by the source.
isTopCompanybooleanWhether the source marks this as a top company.
businessModelstringBusiness model listed by the source.
reputationstringReputation signal listed by the source.
badgesstring[]Badges listed by the source.
hiringOverviewobjectOpen-role totals and category counts listed by the source.
hiringOverview.openRoleCountintegerTotal number of open roles listed by the source.
hiringOverview.roleCategoriesobject[]Open-role counts grouped by source category.
hiringOverview.roleCategories[].categorystringSource role category.
hiringOverview.roleCategories[].countintegerNumber of open roles in the category.
foundersobject[]Founders listed by the source.
founders[].namestringFounder name.
founders[].titlestringFounder title listed by the source.
founders[].profileUrlstringPublic founder profile URL.
fundingRoundsobject[]Funding rounds listed by the source.
fundingRounds[].datestringFunding round date.
fundingRounds[].amountnumberFunding round amount.
fundingRounds[].currencystringCurrency used for the round amount.
fundingRounds[].typestringFunding round type listed by the source.
jobsobject[]Job summaries listed by the source.
jobs[].titlestringJob title.
jobs[].urlstringPublic job URL.
jobs[].locationsstring[]Job locations listed by the source.
jobs[].remoteStatusstringJob work setting listed by the source.
jobs[].postedAtstringTime when the job was posted.
perksstring[]Perks listed by the source.
mediaobject[]Media links listed by the source.
media[].titlestringMedia title listed by the source.
media[].urlstringPublic media URL.
media[].typestringMedia type listed by the source.
contactsobjectBusiness contact details found for the startup.
contacts.emailstringBusiness email listed by the source.
contacts.phonestringBusiness phone listed by the source.
contacts.socialLinksobject[]Social links listed by the source.
contacts.socialLinks[].networkstringSocial network name.
contacts.socialLinks[].urlstringPublic social profile URL.
longDescriptionstringLonger startup description listed by the source.
enrichmentStatusobjectStatus of requested profile enrichment.
enrichmentStatus.foundersstringFounder status: available, unavailable, or failed.
enrichmentStatus.fundingRoundsstringFunding-round status: available, unavailable, or failed.
enrichmentStatus.jobsstringJob status: available, unavailable, or failed.
enrichmentStatus.perksstringPerk status: available, unavailable, or failed.
enrichmentStatus.mediastringMedia status: available, unavailable, or failed.
enrichmentStatus.contactsstringContact status: available, unavailable, or failed.
enrichmentStatus.longDescriptionstringLong-description status: available, unavailable, or failed.

Example startup profile

{
"recordType": "startupProfile",
"name": "AirCaps",
"recordUrl": "https://www.ycombinator.com/companies/aircaps",
"source": {
"name": "Y Combinator",
"id": "30837",
"collectedAt": "2026-08-05T01:07:57.561Z"
},
"discoveryInput": "AirCaps",
"websiteUrl": "https://aircaps.com/",
"description": "The AI copilot for in-person conversations.",
"logoUrl": "https://bookface-images.s3.amazonaws.com/small_logos/839111803eb4ccce6e6e411847617a96d8d7d880.png",
"industries": [
"Consumer"
],
"markets": [],
"technologies": [],
"tags": [],
"locations": [
"San Francisco, CA, USA"
],
"regions": [
"United States of America",
"America / Canada"
],
"batch": "Fall 2025",
"lifecycleStatus": "Active",
"companySize": "1-10",
"teamSize": 5,
"hiringState": "hiring",
"isTopCompany": false,
"longDescription": "AirCaps is bringing AI assistance to in-person conversations. \r\n\r\nOur AI-copilot provides live captions, translations, AI meeting notes and insights for in-person conversations in real-time. It's deployed as an app for lightweight AR glasses so you can see visual information overlaid onto your field of vision.\r\n\r\nYou can think of it like a Zoom AI meeting assistant or Granola, but for in-person conversations, and with the ability to proactively help you in real-time, not just after the conversation.\r\n\r\nWe’re building the capture and intelligence layer for the 216 billion daily conversations that happen face-to-face.\r\n\r\nWe’ve already processed 16,500 hours of real-world conversations and counting. Today, AirCaps assists with 11% of our users’ in-person conversations.\r\n\r\nWe did $93K in revenue in October and grew 6.5x from September while spending <$3K on marketing (and hit $70K in revenue in the first 2 weeks of November). Our power users average 6h+ daily usage and our day-30 retention is 91%.\r\n\r\nWe previously went viral (75M+ views on TikTok, 150K+ followers) and have been featured by The New Yorker, WIRED, and Forbes.\r\n\r\nMadhav (CEO, Yale CS) has been building in audio and AR since age 13, starting with Google Glass apps and voice assistants for Raspberry Pis. He researched audio AI at the MIT Media Lab. Nirbhay (CTO, Cornell CS) built voice AI on smart glasses in high school and built conversational AI products as the first engineer at 2 YC startups."
}

Startup job fields

FieldTypeWhat it does
recordTypestringStable value for this shape: startupJob.
namestringJob title from the source.
recordUrlstringPublic URL for the job.
sourceobjectPublic source and collection time for the row.
source.namestringName of the public source.
source.idstringID used to open or check the source record, when available.
source.collectedAtstringTime when the row was collected.
descriptionstringJob description from the source.
companyobjectStartup identity linked to the job.
company.namestringStartup name.
company.profileUrlstringPublic startup profile URL.
company.websiteUrlstringStartup website URL.
company.logoUrlstringPublic startup logo URL.
salaryobjectSalary range and terms listed by the source.
salary.minnumberLower end of the salary range.
salary.maxnumberUpper end of the salary range.
salary.currencystringCurrency used for the salary.
salary.periodstringSalary period, such as year or hour.
equityobjectEquity terms listed by the source.
equity.minPercentnumberLower end of the equity range as a percent.
equity.maxPercentnumberUpper end of the equity range as a percent.
equity.textstringEquity terms shown by the source.
locationsstring[]Job locations listed by the source.
remoteStatusstringJob work setting: remote, hybrid, or onsite.
postedAtstringTime when the job was posted.
employmentTypestringEmployment type listed by the source.
experienceLevelstringExperience level listed by the source.
applicantLocationsstring[]Applicant locations allowed by the source.
applicationobjectApplication details listed by the source.
application.urlstringPublic URL used to apply.
application.emailstringEmail address used to apply.
application.instructionsstringApplication instructions shown by the source.
enrichmentStatusobjectStatus of requested job enrichment.
enrichmentStatus.descriptionstringDescription status: available, unavailable, or failed.
enrichmentStatus.employmentTypestringEmployment-type status: available, unavailable, or failed.
enrichmentStatus.salarystringSalary status: available, unavailable, or failed.
enrichmentStatus.experienceLevelstringExperience status: available, unavailable, or failed.
enrichmentStatus.applicantLocationsstringApplicant-location status: available, unavailable, or failed.
enrichmentStatus.applicationstringApplication status: available, unavailable, or failed.

Example startup job

{
"recordType": "startupJob",
"name": "Automation Engineer at Skyward",
"recordUrl": "https://startup.jobs/automation-engineer-skyward-8906338",
"source": {
"name": "Startup Jobs",
"id": "https://startup.jobs/automation-engineer-skyward-8906338",
"collectedAt": "2026-08-05T01:11:30.871Z"
},
"description": "Build self-provisioning infrastructure, RPA workflows, and AIOps auto-remediation across AWS, Azure, and on-prem environments.",
"company": {
"name": "Skyward"
},
"salary": {
"min": 86000,
"max": 95000,
"currency": "USD",
"period": "year"
},
"locations": [
"Remote, Maryland, U.S."
],
"remoteStatus": "remote",
"postedAt": "2026-08-04T01:02:49.000Z",
"enrichmentStatus": {
"description": "available",
"employmentType": "unavailable",
"salary": "available",
"experienceLevel": "unavailable",
"applicantLocations": "unavailable",
"application": "unavailable"
}
}

Financing filing fields

FieldTypeWhat it does
recordTypestringStable value for this shape: financingFiling.
namestringIssuer name on the filing.
recordUrlstringOfficial public URL for the filing.
sourceobjectPublic source and collection time for the row.
source.namestringName of the public source.
source.idstringID used to open or check the source record, when available.
source.collectedAtstringTime when the row was collected.
filingDatestringDate shown on the filing.
issuerStatestringIssuer state shown on the filing.
industriesstring[]Industries listed for the issuer.
securityTypestringSecurity type shown on the filing.
exemptionstringExemption shown on the filing.
amendmentStatusstringWhether the filing is original or amended.
currencystringCurrency used for the filing amounts.
offeringAmountnumberTotal offering amount shown on the filing.
soldAmountnumberAmount sold shown on the filing.
remainingAmountnumberAmount remaining in the offering.
investorCountintegerReported number of investors.
coverageobjectNote when the filing scan covers only a limited source window.
coverage.scopestringShows that this result came from a bounded source scan.
coverage.notestringExplains why the scan may not cover every filing.

Example financing filing

{
"recordType": "financingFiling",
"name": "Kiken Technoloigies, Inc",
"recordUrl": "https://www.sec.gov/Archives/edgar/data/2147713/000214771326000002/primary_doc.xml",
"source": {
"name": "SEC EDGAR Form D",
"id": "0002147713-26-000002",
"collectedAt": "2026-08-05T01:07:46.776Z"
},
"filingDate": "2026-08-04",
"issuerState": "IN",
"industries": [
"Other Technology"
],
"securityType": "Equity",
"exemption": "06b",
"amendmentStatus": "amended",
"currency": "USD",
"offeringAmount": 131000,
"soldAmount": 131000,
"remainingAmount": 0,
"investorCount": 2,
"coverage": {
"scope": "bounded",
"note": "SEC EDGAR metadata returned 1 filings; this run parsed the first 1 filing documents."
}
}

💳 Pricing

How charging works

Pricing is pay per event. Startup profiles use tiered pricing; Startup jobs and Financing filings use their own event prices. See the Store pricing panel for current amounts. A chargeable event is one saved row described below. This page does not promise a charge for empty, setup, diagnostic, or no-result work.

Events

  • Startup profile — One startup profile with a source link and available classification and status details.
  • Startup job — One current startup job with available pay, location, remote status, and company details.
  • Financing filing — One financing filing with available issuer, filing, offering, security, and investor details.

🔌 Integrations

Dataset access

Open the dataset link in the run output, or use the Apify API and dataset export tools to read the saved rows.

Video

❓ FAQ

Can I collect profiles, jobs, and financing filings in one run?

No. Select one target for each run. Start a separate run for each other target you need.

What happens when the same startup matches more than one input?

The first eligible source item is saved. Later matches for that same item are skipped, and the row keeps the first keyword, URL, ID, or other submitted value that found it. Later matches are not combined into the row.

What does an empty Actor Work Limit do?

It returns all available results until the source is exhausted. Set a positive integer when you want the run to stop sooner.

Are Form D notices proof that a company raised money?

No. A Form D notice is not SEC approval, a verified financing announcement, proof that funds were ultimately raised or retained, or an investor identity list.

Why can profile or job fields be missing?

Sources may omit optional data or make deeper details unavailable. The Actor leaves unavailable fields out, and enrichmentStatus can show available, unavailable, or failed where that status is provided.

Can I use direct startup profile URLs and IDs?

Yes. Add one public profile URL or source ID per line when the target is startupProfiles. Leave profileKeyword empty for direct lookups.

Does the Actor collect login-only source records?

No. Private, credentialed, or login-only source records are out of scope.

📝 Changelog

0.0: Initial release

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

  • Tiny Startups Scraper — collect public startup launches, rankings, and deals for market research.
  • TinySeed Scraper — map TinySeed portfolio companies by cohort, location, and profile details.
  • CutShort Scraper — find tech and startup jobs by skill or URL with salary and company data.
  • LinkedIn Company Scraper — enrich known public company pages with websites, industries, sizes, locations, and job counts.
  • Handshake Jobs Scraper — collect public job listings by keyword, location, or URL with employer and compensation data.

Made with ❤️ by Maxime Dupré