Startup Scraper
Pricing
from $1.05 / 1,000 startup profiles
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é
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
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
- Build a financing research list with Startup funding database.
- Find remote roles with Remote startup jobs.
- Review current roles with Startup jobs.
- Explore Y Combinator company profiles with Y Combinator startups.
- Search company details with Startup profiles.
- Organize company records with Startup companies.
- Organize startup records for research with Startup database.
- Start a focused run with Startup scraper.
📊 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
| Field | Type | What it does |
|---|---|---|
| target | string | Choose startupProfiles, startupJobs, or financingFilings. The form starts with startupProfiles. |
| profileKeyword | string | Find 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. |
| startupUrlsOrIds | string[] | Add one startup profile URL or source ID per line for direct lookups. Use this for a large list of startups. |
| batches | string[] | Keep profiles from these batch names; add one per line. |
| hiringState | string | Keep profiles with this current-hiring state. Any turns this filter off. |
| lifecycleStatuses | string[] | Keep profiles with these source status values; add one per line. |
| companySizes | string[] | Keep profiles with these source company-size values; add one per line. |
| topCompanyOnly | boolean | Keep only profiles the source marks as top companies. |
| locations | string[] | Keep profiles whose source location matches one of these values; add one per line. |
| regions | string[] | Keep profiles whose source region matches one of these values; add one per line. |
| markets | string[] | Keep profiles that match these source market values; add one per line. |
| technologies | string[] | Keep profiles that match these source technology values; add one per line. |
| tags | string[] | Keep profiles with these source tags; add one per line. |
| remoteStatus | string | Keep jobs with this work setting: Any, remote, hybrid, or onsite. |
| minimumSalary | number | Keep jobs with pay at or above this amount; use the amount shown by the source. |
| maximumSalary | number | Keep jobs with pay at or below this amount; use the amount shown by the source. |
| filingDateFrom | string | Keep filings dated on or after this date. Use YYYY-MM-DD. Results are ordered by reported amount, highest first. |
| filingDateTo | string | Keep filings dated on or before this date. Use YYYY-MM-DD. |
| issuers | string[] | Keep filings from these issuer names; add one name per line. |
| states | string[] | Keep filings from issuers in these states; add one state per line. |
| securityTypes | string[] | Keep filings with these source security types; add one value per line. |
| exemptions | string[] | Keep filings with these source exemptions; add one value per line. |
| amendmentStatus | string | Keep original or amended filings. Any turns this filter off. |
| minimumReportedAmount | number | Keep filings with a reported amount at or above this value. |
| minimumInvestorCount | integer | Keep filings with at least this many reported investors. |
| maximumInvestorCount | integer | Keep filings with no more than this many reported investors. |
| industries | string[] | For profiles and filings, keep results that match at least one source industry; add one per line. |
| maxItems | integer | Actor 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
| Field | Type | What it does |
|---|---|---|
| dataset | string | Link to the run dataset, where the saved profile, job, and financing rows are available. |
Startup profile fields
| Field | Type | What it does |
|---|---|---|
| recordType | string | Stable value for this shape: startupProfile. |
| name | string | Startup name from the source. |
| recordUrl | string | Public URL for the startup profile. |
| source | object | Public source and collection time for the row. |
| source.name | string | Name of the public source. |
| source.id | string | ID used to open or check the source record, when available. |
| source.collectedAt | string | Time when the row was collected. |
| discoveryInput | string | Keyword, URL, or ID that found the startup. |
| websiteUrl | string | Startup website URL, when provided. |
| description | string | Startup description from the source. |
| logoUrl | string | Public logo URL, when available. |
| industries | string[] | Industries listed by the source. |
| markets | string[] | Markets listed by the source. |
| technologies | string[] | Technologies listed by the source. |
| tags | string[] | Tags listed by the source. |
| locations | string[] | Startup locations listed by the source. |
| regions | string[] | Startup regions listed by the source. |
| batch | string | Startup batch listed by the source. |
| lifecycleStatus | string | Startup lifecycle status listed by the source. |
| companySize | string | Source company-size value. |
| teamSize | integer | Number of team members listed by the source. |
| hiringState | string | Current-hiring state listed by the source. |
| isTopCompany | boolean | Whether the source marks this as a top company. |
| businessModel | string | Business model listed by the source. |
| reputation | string | Reputation signal listed by the source. |
| badges | string[] | Badges listed by the source. |
| hiringOverview | object | Open-role totals and category counts listed by the source. |
| hiringOverview.openRoleCount | integer | Total number of open roles listed by the source. |
| hiringOverview.roleCategories | object[] | Open-role counts grouped by source category. |
| hiringOverview.roleCategories[].category | string | Source role category. |
| hiringOverview.roleCategories[].count | integer | Number of open roles in the category. |
| founders | object[] | Founders listed by the source. |
| founders[].name | string | Founder name. |
| founders[].title | string | Founder title listed by the source. |
| founders[].profileUrl | string | Public founder profile URL. |
| fundingRounds | object[] | Funding rounds listed by the source. |
| fundingRounds[].date | string | Funding round date. |
| fundingRounds[].amount | number | Funding round amount. |
| fundingRounds[].currency | string | Currency used for the round amount. |
| fundingRounds[].type | string | Funding round type listed by the source. |
| jobs | object[] | Job summaries listed by the source. |
| jobs[].title | string | Job title. |
| jobs[].url | string | Public job URL. |
| jobs[].locations | string[] | Job locations listed by the source. |
| jobs[].remoteStatus | string | Job work setting listed by the source. |
| jobs[].postedAt | string | Time when the job was posted. |
| perks | string[] | Perks listed by the source. |
| media | object[] | Media links listed by the source. |
| media[].title | string | Media title listed by the source. |
| media[].url | string | Public media URL. |
| media[].type | string | Media type listed by the source. |
| contacts | object | Business contact details found for the startup. |
| contacts.email | string | Business email listed by the source. |
| contacts.phone | string | Business phone listed by the source. |
| contacts.socialLinks | object[] | Social links listed by the source. |
| contacts.socialLinks[].network | string | Social network name. |
| contacts.socialLinks[].url | string | Public social profile URL. |
| longDescription | string | Longer startup description listed by the source. |
| enrichmentStatus | object | Status of requested profile enrichment. |
| enrichmentStatus.founders | string | Founder status: available, unavailable, or failed. |
| enrichmentStatus.fundingRounds | string | Funding-round status: available, unavailable, or failed. |
| enrichmentStatus.jobs | string | Job status: available, unavailable, or failed. |
| enrichmentStatus.perks | string | Perk status: available, unavailable, or failed. |
| enrichmentStatus.media | string | Media status: available, unavailable, or failed. |
| enrichmentStatus.contacts | string | Contact status: available, unavailable, or failed. |
| enrichmentStatus.longDescription | string | Long-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
| Field | Type | What it does |
|---|---|---|
| recordType | string | Stable value for this shape: startupJob. |
| name | string | Job title from the source. |
| recordUrl | string | Public URL for the job. |
| source | object | Public source and collection time for the row. |
| source.name | string | Name of the public source. |
| source.id | string | ID used to open or check the source record, when available. |
| source.collectedAt | string | Time when the row was collected. |
| description | string | Job description from the source. |
| company | object | Startup identity linked to the job. |
| company.name | string | Startup name. |
| company.profileUrl | string | Public startup profile URL. |
| company.websiteUrl | string | Startup website URL. |
| company.logoUrl | string | Public startup logo URL. |
| salary | object | Salary range and terms listed by the source. |
| salary.min | number | Lower end of the salary range. |
| salary.max | number | Upper end of the salary range. |
| salary.currency | string | Currency used for the salary. |
| salary.period | string | Salary period, such as year or hour. |
| equity | object | Equity terms listed by the source. |
| equity.minPercent | number | Lower end of the equity range as a percent. |
| equity.maxPercent | number | Upper end of the equity range as a percent. |
| equity.text | string | Equity terms shown by the source. |
| locations | string[] | Job locations listed by the source. |
| remoteStatus | string | Job work setting: remote, hybrid, or onsite. |
| postedAt | string | Time when the job was posted. |
| employmentType | string | Employment type listed by the source. |
| experienceLevel | string | Experience level listed by the source. |
| applicantLocations | string[] | Applicant locations allowed by the source. |
| application | object | Application details listed by the source. |
| application.url | string | Public URL used to apply. |
| application.email | string | Email address used to apply. |
| application.instructions | string | Application instructions shown by the source. |
| enrichmentStatus | object | Status of requested job enrichment. |
| enrichmentStatus.description | string | Description status: available, unavailable, or failed. |
| enrichmentStatus.employmentType | string | Employment-type status: available, unavailable, or failed. |
| enrichmentStatus.salary | string | Salary status: available, unavailable, or failed. |
| enrichmentStatus.experienceLevel | string | Experience status: available, unavailable, or failed. |
| enrichmentStatus.applicantLocations | string | Applicant-location status: available, unavailable, or failed. |
| enrichmentStatus.application | string | Application 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
| Field | Type | What it does |
|---|---|---|
| recordType | string | Stable value for this shape: financingFiling. |
| name | string | Issuer name on the filing. |
| recordUrl | string | Official public URL for the filing. |
| source | object | Public source and collection time for the row. |
| source.name | string | Name of the public source. |
| source.id | string | ID used to open or check the source record, when available. |
| source.collectedAt | string | Time when the row was collected. |
| filingDate | string | Date shown on the filing. |
| issuerState | string | Issuer state shown on the filing. |
| industries | string[] | Industries listed for the issuer. |
| securityType | string | Security type shown on the filing. |
| exemption | string | Exemption shown on the filing. |
| amendmentStatus | string | Whether the filing is original or amended. |
| currency | string | Currency used for the filing amounts. |
| offeringAmount | number | Total offering amount shown on the filing. |
| soldAmount | number | Amount sold shown on the filing. |
| remainingAmount | number | Amount remaining in the offering. |
| investorCount | integer | Reported number of investors. |
| coverage | object | Note when the filing scan covers only a limited source window. |
| coverage.scope | string | Shows that this result came from a bounded source scan. |
| coverage.note | string | Explains 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 🫡
🔗 Related Actors
- 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é