← Live feed

Python job-listing monitor for Upwork public search results (CSV + alerts)

Budget: $10.0 FIXED / ⭐ 5.00 (3) United States

data-extraction, api-integration, data-scraping, python, crawlers, data-mining

Preferred qualifications

  • Experience: Intermediate
Project overview I need a tool that monitors publicly visible Upwork job search results and saves matching gigs into a structured dataset so I can review opportunities faster. This is for personal lead research / opportunity tracking — not bulk messaging, not account takeover, and not bypassing login walls. Goal Given search keywords, categories, and filters I define (examples: “web scraping”, “Python ETL”, “data pipeline”, budget range, experience level), the system should: Collect matching public job cards Store them cleanly Flag new jobs since the last run Optionally notify me (email, Slack, Discord, or CSV drop) Data to collect (per job, when publicly visible) Job URL / job ID Title Short description / snippet Full description (only if publicly accessible without prohibited access methods) Budget type (hourly / fixed) and amount range if shown Experience level Category / subcategory Skills / tags Client country (if shown) Client hire history / spend signals (if public on the card) Proposals count / connects info (if public) Posted time / “posted X hours ago” Job type (hourly, fixed, contract-to-hire if shown) scraped_at timestamp Out of scope / not allowed Logging into accounts you don’t own, credential stuffing, CAPTCHA farms Automating proposals, connects spending, or messaging clients Collecting private client contact data Circumventing anti-bot / auth protections Building a spam outreach bot Public search/result fields + polite rate limiting only. Scope (MVP) Configurable search queries + filters (keywords, category, budget, posted within X hours) Deduplicate by job ID/URL Export CSV + JSON “New jobs only” diff between runs README with setup, config, and schema Logging + retries + backoff Optional add-ons (quote separately) Scheduled runs (every 15–60 min) Slack/Discord/email alerts for new matches Simple dashboard or Google Sheet sync Multi-query watchlist (10–50 saved searches) Relevance scoring (keyword match, budget, client quality heuristics) Tech preferences Python preferred Playwright/Selenium only if needed; prefer stable public endpoints / careful HTML parsing Clean config file (YAML/JSON) for searches SQLite or local JSON store for seen job IDs is fine Code I can run on my machine or a cheap VPS Deliverables Working monitor/scraper scripts Sample output from real public searches (CSV + JSON) Data dictionary README Notes on limits (rate limits, blocked requests, fields that disappear when not logged in)
Open job

AI proposal draft

Generate a short cover letter to copy into the offer. Says you are interested and ready to work.

Sign in to generate an AI proposal draft.

Log in