Github Email Scraper in Python
Budget / Salary$30–250
TypeFreelance project
LocationRemote
Posted2 hours ago
I need a small Python utility that automatically locates and collects public-facing email addresses from GitHub user profiles. The script should accept a list of search terms (usernames, languages, locations or any other filter you feel is reliable) and return only the email field when it is publicly available.
Core expectations
• Work only with publicly accessible data and stay inside GitHub’s rate-limit and Terms of Service.
• Keep the code lightweight—Requests or httpx for API calls, and standard JSON / CSV writers are fine. If scraping is unavoidable for edge cases, please handle it with BeautifulSoup or Selenium and make sure the approach is clearly documented.
• The output format can be configurable at runtime; CSV as default is ideal, but a quick switch to JSON would be helpful.
Deliverables
1. Well-commented Python script (Python 3.x) ready to run from the command line.
2. A short README explaining required libraries, setup, and usage examples.
3. One sample output file produced from a tiny test run so I can verify the layout.
Acceptance criteria
– Given a list of at least ten profile URLs or usernames, the tool should return every publicly visible email it finds without duplication.
– Execution must complete within GitHub’s unauthenticated rate limits, or include easy instructions for adding a personal access token.
– Code passes pylint or flake8 with no critical warnings.
Let me know if you foresee better search filters or an alternative workflow; I’m open to suggestions as long as the end result is fast, compliant, and easy to extend.
Core expectations
• Work only with publicly accessible data and stay inside GitHub’s rate-limit and Terms of Service.
• Keep the code lightweight—Requests or httpx for API calls, and standard JSON / CSV writers are fine. If scraping is unavoidable for edge cases, please handle it with BeautifulSoup or Selenium and make sure the approach is clearly documented.
• The output format can be configurable at runtime; CSV as default is ideal, but a quick switch to JSON would be helpful.
Deliverables
1. Well-commented Python script (Python 3.x) ready to run from the command line.
2. A short README explaining required libraries, setup, and usage examples.
3. One sample output file produced from a tiny test run so I can verify the layout.
Acceptance criteria
– Given a list of at least ten profile URLs or usernames, the tool should return every publicly visible email it finds without duplication.
– Execution must complete within GitHub’s unauthenticated rate limits, or include easy instructions for adding a personal access token.
– Code passes pylint or flake8 with no critical warnings.
Let me know if you foresee better search filters or an alternative workflow; I’m open to suggestions as long as the end result is fast, compliant, and easy to extend.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.