BioSpace Jobs Scraper avatar

BioSpace Jobs Scraper

Pricing

from $0.05 / 1,000 apify-default-dataset-item extracteds

Go to Apify Store
BioSpace Jobs Scraper

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

Automation Lab

Maintained by Community

Actor 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

FieldDescription
jobIdBioSpace posting identifier
titleJob title
companyHiring company or recruiter
locationListed job location
summaryShort listing summary
descriptionFull job description from the detail page
jobUrlCanonical BioSpace job URL
applyUrlBioSpace apply URL when available
companyUrlBioSpace company or employer profile URL
logoUrlCompany logo asset URL
postedAtPosting timestamp when exposed by BioSpace metadata
expiresAtExpiration timestamp from BioSpace structured data or page metadata
employmentTypeEmployment types as a string array, for example ["FULL_TIME"]
employerJobIdEmployer-provided reference ID
locationLocalityCity or locality
locationRegionState, province, or region
postalCodePostal code
countryCodeCountry name or code exposed by BioSpace
sourceUrlPage that produced the record
sourceTypesearch or detail
sourceQueryKeyword query used for discovery
scrapedAtISO 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

  1. Open the actor on Apify.
  2. Enter a keyword such as scientist, oncology, bioinformatics, or a company name.
  3. Set maxItems to the number of jobs you need.
  4. Keep scrapeDetails enabled when you need full descriptions and apply links.
  5. Run the actor.
  6. 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=scientist
  • https://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.

{
"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, or bioinformatics.
  • ๐Ÿข Search by company name when tracking specific accounts.
  • ๐Ÿ“‰ Disable scrapeDetails for faster lightweight listing monitoring.
  • ๐Ÿ“ˆ Enable scrapeDetails when 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 ApifyClient
import os
client = 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.

Explore related automation-lab actors for recruiting, lead generation, and company monitoring:

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.