# Changelog of BioSpace Jobs Scraper: Filtered Biotech and Pharma Job Listings (`getascraper/biospace-jobs-scraper`) Actor

- **URL**: https://apify.com/getascraper/biospace-jobs-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/getascraper/biospace-jobs-scraper.md

## Changelog

All notable changes to this Actor are documented in this file.

### \[0.5] - 2026-10-17

#### Fixed

- ✅ Runs now return real BioSpace jobs again. BioSpace turns away a share of connections with a bot-check page; the Actor now notices this instantly, switches to a new connection and carries on, instead of giving up after three tries. It keeps a connection that works for the following pages and only switches when one is turned away.
- 🛟 If BioSpace turns away every one of the attempts, the run still ends successfully with a plain message saying it was a block, not an empty search. Nothing is collected and nothing is charged.
- ⚡ Default runs finish in a few seconds to under a minute, and a 60-page scan finishes in about three and a half minutes.

### \[0.4] - 2026-10-17

#### Fixed

- 🛟 When BioSpace shows a bot-check page or cannot be reached, the run now tries each page up to three times and then ends successfully with a plain message saying nothing was collected because of the block. Nothing is charged, and it is never shown as an empty search.
- 🔁 Connection errors and timeouts no longer fail the run. Jobs already collected are kept and the status message says where the scan stopped.
- ⏱️ Long scans now stop a few minutes before the run time limit and keep everything collected so far.
- 🧩 One unreadable posting no longer ends the run; it is skipped.
- 🧭 A job posting that happens to mention phrases like "access denied" is no longer mistaken for a block page.
- 🔧 Filter values typed in a different case (for example "Full-Time") are now recognised, and an unavailable proxy group falls back to automatic routing instead of failing the run.

### \[0.3] - 2026-10-08

#### Fixed

- ✅ Free-plan limit messages (wait between runs, daily run cap) no longer show the run as failed. The run ends successfully with a clear note that no data was collected.
- 📝 Searches with no matching jobs now end with a clear status message explaining nothing matched.
- 🛟 If BioSpace blocks a request partway through, the jobs already collected are kept and the run ends with a note about where it stopped. A block before any job is collected still fails so the problem is visible.

### \[0.2] - 2026-10-06

#### Added

- 🎯 Job type filter now includes part-time and consultant roles.
- 🏠 Work arrangement filter now includes hybrid roles.
- 🎓 Education required filter: keep postings that ask for a high school, associate, bachelor's, master's, or doctorate level.
- 🧬 Biotech hub filter: keep postings BioSpace tags with a hub such as Genetown, Biotech Bay, or BioCapital.
- 📅 Posted within filter: keep only postings published in the last number of days you choose.
- 💰 Only postings with published pay filter: skip postings where the employer did not write a pay amount.
- 🏢 Company name filter: keep postings from employers whose name contains the text you enter.
- 🏭 Industry filter: keep postings from one employer industry, such as pharmaceutical, biotechnology, or non-profit.

#### Changed

- 🗂️ Inputs are grouped into clear sections (Sources, Job & search filters, Company filters, Output & limits, Advanced) so the form is easier to scan.
- ✅ Postings missing a value for a filter you turn on are left out of the results. Turning a filter off never removes postings.

### \[0.1] - 2026-10-06

#### Added

- 🚀 First release: collects biotech and pharma job listings from BioSpace.
- ✨ Each job includes title, company, location, posting date, job type, work arrangement, and required education when published.
- 💰 Pay is returned exactly as the employer wrote it, and only when the posting states it. Postings without published pay leave this field empty.
- 🔎 Filter by keyword, location, position type (full-time or contract), and work arrangement (on-site or remote).
- 📋 Optional full job description for each listing.
- ⚡ Default run saves 20 jobs from the newest 200 postings, so a first run finishes in seconds.

</content>
