Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SWE Internship Scraper

CI Provider health PyPI

A command-line tool for finding software engineering internships on official public job boards.

Quick start

You do not need to clone or download this repository to use the scraper. Install the package with Python 3.10–3.14, then run a small sample scan. The CSV file is written to the folder where you run the command.

Windows PowerShell:

py -m pip install --pre swe-internship-scraper
py -m swe_scraper scan --quick --output internships.csv

macOS or Linux:

python3 -m venv .venv
.venv/bin/python -m pip install --pre swe-internship-scraper
.venv/bin/python -m swe_scraper scan --quick --output internships.csv

Open internships.csv in a spreadsheet. --quick checks the small set of monitored boards; it is a sample, not the full catalog. Omit --quick for the default priority boards, or use --target-set all for the entire catalog. The --pre install flag is needed while the first release is a release candidate; it can be removed for stable 1.0.0.

Want to run the source code you downloaded from GitHub? Follow the source checkout guide. It has exact Windows and macOS/Linux commands, without requiring PowerShell activation.

What you install

swe-internship-scraper is the main package. It includes the command and six providers: Greenhouse, Lever, Ashby, Workday, SmartRecruiters, and Oracle. The separate swe-scraper-icims package is an optional, experimental plugin for public iCIMS portals. Most users only need the main package. See the plugin guide if you have an iCIMS portal to scan.

The repository contains scraper code and a public employer catalog. It does not include an application tracker, personal data, or applicant ranking rules.

Commands

py -m swe_scraper scan --output internships.csv
py -m swe_scraper scan --location "New York" --output nyc-internships.csv
py -m swe_scraper scan --target-set all --output all-internships.csv
py -m swe_scraper providers
py -m swe_scraper --help

The installed swe-scraper command is equivalent to py -m swe_scraper on Windows or python3 -m swe_scraper in a Python environment on macOS/Linux. For JSON output, use a .json filename. See the full command guide for custom targets, watching, health checks, and deduplication reports.

Output and deduplication

Schema v2 keeps the familiar primary job fields and adds:

  • sources: every provider, source ID, and direct application URL represented by the record;
  • merge_evidence: the rule and confidence for each merged source.

Exact canonical URLs and provider/source identities have confidence 1.0. Semantic merging requires canonical company, equivalent title including season and year, and equivalent location. Uncertain pairs remain separate and can be written to the optional deduplication audit.

Primary record selection uses completeness and stable lexical tie breakers, so thread completion order does not change output. See the schema reference and the v2 migration guide.

Development

Read CONTRIBUTING.md, the provider guide, and the support policy before opening an issue or pull request.

License

MIT

Release files for swe-internship-scraper 1.0.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for swe-internship-scraper 1.0.0rc2
File Size Uploaded
swe_internship_scraper-1.0.0rc2.tar.gz 59.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swe-internship-scraper 1.0.0rc2
File Interpreter ABI Platform
swe_internship_scraper-1.0.0rc2-py3-none-any.whl Python 3 none any Details

Total release size: 116.3 kB

Release files / swe_internship_scraper-1.0.0rc2.tar.gz

Download URL swe_internship_scraper-1.0.0rc2.tar.gz
Size 59.1 kB
Tags Source
SHA-256 checksum
How to use checksums
50d818664127fbad7b4030bfe7697667f2e94cb57bee544c48bf715fc0d31e9e
BLAKE2b-256 checksum
How to use checksums
b9b52321637c80b4ac1849e443b8610ae4be1c033897cf70a7b01d36a7cfe06b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / swe_internship_scraper-1.0.0rc2-py3-none-any.whl

Download URL swe_internship_scraper-1.0.0rc2-py3-none-any.whl
Size 57.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ae9cae861c71ec47d20d1f541ed9e26e7492bf68231e801d5ab8b0402201473
BLAKE2b-256 checksum
How to use checksums
708594afa6374befd8c88b9afefafc466a3a6562ead056f881e72b570bfa6cd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0rc2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page