whatisgithub

What is businesswire-scraper?

geekproxy/businesswire-scraper — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 4/5Setup · hard

In one sentence

A Python tool that polls businesswire.com's official feeds for press releases matching your keywords, then downloads and archives the matched release pages locally.

Mindmap

mindmap
  root((businesswire scraper))
    What it does
      Monitors press releases
      Matches keywords
      Saves HTML and JSON
    Tech stack
      Python
      SQLite
      Patchright
      curl_cffi
    Use cases
      Ticker and keyword monitoring
      Scheduled cron polling
      Historical backfill
    Data flow
      MRSS feed
      Daily sitemap
      Local archive
    Audience
      Developers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Monitor press releases for specific tickers or keywords and save the full HTML and metadata locally.

USE CASE 2

Run a scheduled cron job that checks for new matching releases every fifteen minutes.

USE CASE 3

Backfill a specific past date's releases from the site's public daily sitemap archive.

What is it built with?

PythonSQLitePatchrightcurl_cffi

How does it compare?

geekproxy/businesswire-scraper0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultyhardmoderatehard
Complexity4/54/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a paid residential proxy subscription and installing a patched Chromium via Patchright.

No license file is mentioned in the README, so reuse terms are unclear.

So what is it?

businesswire-scraper is a Python tool that monitors businesswire.com press releases continuously, capturing every new release that matches a set of keywords or ticker symbols you configure. Instead of scraping the website's search interface directly, since that is blocked by anti-bot protection, it uses two officially published feeds listed in the site's own robots.txt file. A live feed is polled every fifteen minutes to catch new releases as they appear, and a daily archive hosted on public cloud storage provides a backfill safety net for anything the live window might have missed. When a new release matches one of your configured search terms, using case-insensitive substring matching against the title and description, the scraper needs to download the full HTML of that release page. Those pages are also anti-bot protected, so the tool uses a two-stage approach: first, a specially patched browser called Patchright opens the site and simulates real user behavior to collect valid session cookies, then those cookies are handed off to a lightweight HTTP client called curl_cffi, which downloads all newly matched release pages in parallel. The browser and HTTP client are configured to impersonate the same browser version, which the README says is required to avoid triggering a mismatch check in the anti-bot system. Everything is stored locally: HTML files and JSON metadata are organized into dated folders on disk, and a SQLite database handles deduplication so repeated passes never save the same release twice. A cron job can run the whole pass every fifteen minutes without collisions. Typical runtime is 30 to 60 seconds for a batch of up to ten new releases. The tool depends on a paid residential proxy service, whose credentials go into a gitignored configuration file.

Copy-paste prompts

Prompt 1
Explain the two-stage cookie collection and download process this scraper uses to fetch release pages.
Prompt 2
Walk me through configuring config.yaml with my own search queries and proxy credentials.
Prompt 3
How does the SQLite schema in this repo prevent duplicate releases from being saved twice?
Prompt 4
Show me how to set up the cron job that runs this scraper every fifteen minutes.

Frequently asked questions

What is businesswire-scraper?

A Python tool that polls businesswire.com's official feeds for press releases matching your keywords, then downloads and archives the matched release pages locally.

What language is businesswire-scraper written in?

Mainly Python. The stack also includes Python, SQLite, Patchright.

What license does businesswire-scraper use?

No license file is mentioned in the README, so reuse terms are unclear.

How hard is businesswire-scraper to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is businesswire-scraper for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.