BioSpace Jobs Scraper
Pricing
from $0.05 / 1,000 apify-default-dataset-item extracteds
BioSpace Jobs Scraper
Extract BioSpace job listings, companies, locations, summaries, descriptions, apply links, and posting metadata from public BioSpace pages.
Pricing
from $0.05 / 1,000 apify-default-dataset-item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
4
Monthly active users
9 days ago
Last modified
Categories
Share
Extract public BioSpace job listings for biotech, pharma, and life-sciences hiring intelligence.
What does BioSpace Jobs Scraper do?
BioSpace Jobs Scraper turns public BioSpace search and job-detail pages into structured datasets.
It collects job titles, companies, locations, listing summaries, full descriptions, BioSpace job URLs, apply URLs, company links, logo URLs, posting timestamps, expiration timestamps, employment types, employer reference IDs, structured location fields, source URLs, and scrape timestamps.
Use it when you need a repeatable BioSpace jobs extractor without manually copying pages into spreadsheets.
Who is it for?
Recruiters
Track specialized life-sciences openings by keyword and export candidate-market signals.
Sales teams
Monitor which biotech and pharma companies are hiring for roles that indicate budget, growth, or pipeline activity.
Market intelligence teams
Build recurring datasets about hiring demand across therapeutic areas, research functions, and locations.
Data teams
Feed BioSpace job records into CRM enrichment, lead scoring, dashboards, and alerting workflows.
Why use this actor?
- ๐ Search BioSpace by keyword, role, skill, or company.
- ๐งฌ Extract life-sciences specific hiring signals from a niche jobs board.
- ๐ Enrich listings with full job descriptions from detail pages.
- ๐ Save direct job, apply, company, and logo URLs.
- โฑ๏ธ Run on demand or schedule recurring monitoring.
- ๐ฆ Export results as JSON, CSV, Excel, XML, RSS, or via API.
Data you can extract
| Field | Description |
|---|---|
jobId | BioSpace posting identifier |
title | Job title |
company | Hiring company or recruiter |
location | Listed job location |
summary | Short listing summary |
description | Full job description from the detail page |
jobUrl | Canonical BioSpace job URL |
applyUrl | BioSpace apply URL when available |
companyUrl | BioSpace company or employer profile URL |
logoUrl | Company logo asset URL |
postedAt | Posting timestamp when exposed by BioSpace metadata |
expiresAt | Expiration timestamp from BioSpace structured data or page metadata |
employmentType | Employment types as a string array, for example ["FULL_TIME"] |
employerJobId | Employer-provided reference ID |
locationLocality | City or locality |
locationRegion | State, province, or region |
postalCode | Postal code |
countryCode | Country name or code exposed by BioSpace |
sourceUrl | Page that produced the record |
sourceType | search or detail |
sourceQuery | Keyword query used for discovery |
scrapedAt | ISO timestamp for extraction |
How much does it cost to scrape BioSpace jobs?
This actor uses pay-per-event pricing.
- Start event: small one-time run fee.
- Item event: one charge per saved BioSpace job record.
- Larger paid Apify plans receive lower per-item prices through tiered pricing.
Use a small maxItems value for smoke tests, then scale once the output matches your workflow.
How to scrape BioSpace jobs
- Open the actor on Apify.
- Enter a keyword such as
scientist,oncology,bioinformatics, or a company name. - Set
maxItemsto the number of jobs you need. - Keep
scrapeDetailsenabled when you need full descriptions and apply links. - Run the actor.
- Download the dataset or connect it to your workflow.
Input options
keywords
Search keyword, role, skill, company name, or hiring signal.
Example: scientist
startUrls
Optional BioSpace search result pages or individual job detail URLs.
Examples:
https://jobs.biospace.com/jobs/?keywords=scientisthttps://jobs.biospace.com/job/3053244/scientist-sr-scientist-research/
maxItems
Maximum number of job records to save.
scrapeDetails
When enabled, the actor opens each BioSpace job detail page and extracts the long description, apply URL, structured location, employment type, employer reference ID, and posting metadata. If one detail page remains unavailable after bounded retries, the actor logs that URL and still emits its useful listing row.
maxConcurrency
Maximum simultaneous detail-page requests, from 1 to 20. The safe default is 5. Lower it when BioSpace is responding slowly; it has no effect when scrapeDetails is disabled.
startUrls are validated before any request. Only HTTP(S) URLs on jobs.biospace.com under /jobs/ or /job/<id>/ are accepted.
Example input: keyword search
{"keywords": "scientist","maxItems": 100,"scrapeDetails": true,"maxConcurrency": 5}
Example input: BioSpace URL list
{"startUrls": [{ "url": "https://jobs.biospace.com/jobs/?keywords=bioinformatics" },{ "url": "https://jobs.biospace.com/job/3053244/scientist-sr-scientist-research/" }],"maxItems": 50,"scrapeDetails": true,"maxConcurrency": 5}
Example output
{"jobId": "3053244","title": "Scientist / Sr. Scientist, Research","company": "Visterra, Inc.","location": "Waltham, Massachusetts","summary": "The Opportunity We are seeking a highly motivated Scientist...","description": "The Opportunity We are seeking a highly motivated Scientist...","jobUrl": "https://jobs.biospace.com/job/3053244/scientist-sr-scientist-research/","applyUrl": "https://jobs.biospace.com/logon?...","companyUrl": "https://jobs.biospace.com/employer/...","logoUrl": "https://jobs.biospace.com/getasset/...","postedAt": "2026-06-05T04:59:50.973Z","expiresAt": "2026-07-06T03:59:59.000Z","employmentType": ["FULL_TIME"],"employerJobId": "REQ-12345","locationLocality": "Waltham","locationRegion": "Massachusetts","postalCode": "02451","countryCode": "US","sourceUrl": "https://jobs.biospace.com/job/3053244/scientist-sr-scientist-research/","sourceType": "detail","sourceQuery": "scientist","scrapedAt": "2026-07-03T05:28:52.292Z"}
Tips for better results
- ๐งช Use targeted keywords like
clinical scientist,oncology,CMC, orbioinformatics. - ๐ข Search by company name when tracking specific accounts.
- ๐ Disable
scrapeDetailsfor faster lightweight listing monitoring. - ๐ Enable
scrapeDetailswhen building CRM or market-intel records. - ๐ Schedule daily or weekly runs to monitor new postings.
Integrations
CRM enrichment
Send BioSpace hiring signals into Salesforce, HubSpot, Airtable, or Clay.
Sales intelligence
Trigger alerts when target biotech accounts post jobs in commercial, clinical, or R&D functions.
Market dashboards
Load records into BigQuery, Snowflake, Google Sheets, or a BI tool for trend analysis.
Recruiting operations
Export specialized job postings to internal sourcing dashboards or talent-market reports.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/biospace-jobs-scraper').call({keywords: 'scientist',maxItems: 100,scrapeDetails: true,});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/biospace-jobs-scraper').call(run_input={'keywords': 'bioinformatics','maxItems': 100,'scrapeDetails': True,})print(run['defaultDatasetId'])
API usage with cURL
curl "https://api.apify.com/v2/acts/automation-lab~biospace-jobs-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"keywords":"scientist","maxItems":100,"scrapeDetails":true}'
MCP usage
Connect this actor to Apify MCP so Claude Desktop or Claude Code can run BioSpace job extraction directly.
Claude Code
$claude mcp add --transport http apify-biospace-jobs https://mcp.apify.com/?tools=automation-lab/biospace-jobs-scraper
Claude Desktop, Cursor, and VS Code
Use this MCP JSON configuration in Claude Desktop, Cursor, or VS Code:
{"mcpServers": {"apify-biospace-jobs": {"url": "https://mcp.apify.com/?tools=automation-lab/biospace-jobs-scraper"}}}
MCP URL:
https://mcp.apify.com/?tools=automation-lab/biospace-jobs-scraper
Example prompts:
- "Run the BioSpace Jobs Scraper for oncology scientist jobs and summarize hiring companies."
- "Extract 100 BioSpace bioinformatics jobs and group them by location."
- "Monitor BioSpace for new clinical operations postings every week."
Scheduling
Use Apify schedules to run recurring BioSpace searches.
Common schedules:
- Daily for active sales alerts.
- Weekly for market reports.
- Monthly for historical trend snapshots.
Limitations
BioSpace controls its public pages and may change HTML structure, URLs, or metadata fields.
Some apply links may lead to BioSpace login or application flows.
The actor extracts public job data only and does not bypass login-only account features.
FAQ
Why did I get fewer jobs than expected?
BioSpace may have fewer matching postings for a narrow keyword. Try a broader keyword or provide a search URL with more results.
Why is applyUrl a BioSpace login URL?
Some application flows require a BioSpace job seeker session. The actor records the public apply entry URL when it is exposed.
Why are some detail fields empty?
The actor reads BioSpace JobPosting structured data first and falls back to page selectors and Open Graph metadata. Fields remain null when BioSpace does not publish them. employmentType is always either an array of strings or null.
Dependencies, AI, and data handling
The actor uses deterministic HTTP and HTML/JSON-LD parsing. It does not use AI, a paid BioSpace API, external proxy products, or third-party data processors beyond BioSpace as the public source and Apify as the runtime and storage platform.
Outputs can contain public employer and job-posting content. The actor does not request credentials, maintain an external cache, or copy data outside the run's Apify storage. Dataset and log retention follow your Apify account settings, and you can delete runs and datasets with Apify storage controls. Logs contain public URLs, counts, and bounded error diagnostics rather than page bodies or secrets.
BioSpace is named only to identify the public source. This actor is not affiliated with, endorsed by, or certified by BioSpace.
Legality and responsible use
This actor collects publicly available BioSpace job posting pages. You are responsible for using exported data in compliance with applicable laws, BioSpace terms, and your internal policies.
Do not use the actor to collect private account data or bypass access controls.
Related scrapers
Explore related automation-lab actors for recruiting, lead generation, and company monitoring:
- https://apify.com/automation-lab/amazon-jobs-scraper
- https://apify.com/automation-lab/airbnb-careers-scraper
- https://apify.com/automation-lab/linkedin-profile-scraper
- https://apify.com/automation-lab/company-website-scraper
Change monitoring workflow
Run the same keyword on a schedule and compare datasets by jobId.
New jobId values indicate newly discovered postings.
Expired or missing jobs can indicate closed requisitions.
Data quality workflow
Use jobUrl as the stable row URL.
Use jobId as the stable BioSpace identifier.
Use scrapedAt to partition recurring exports.
Performance notes
With scrapeDetails disabled, the actor only processes search listing pages and runs faster.
With scrapeDetails enabled, the actor visits detail pages with bounded concurrency (default 5) for faster enrichment while preserving output order, global URL de-duplication, and the exact maxItems cap. Individual detail failures fall back to listing data instead of failing the whole search run. A directly supplied job URL still fails clearly if it cannot produce a valid job record.
Support
If a BioSpace page format changes or you need additional fields, open an issue on the actor page with an example input and run URL.