{"id":39407691,"url":"https://github.com/sofiashendi/daily-job-posting","last_synced_at":"2026-01-18T03:33:41.969Z","repository":{"id":324429211,"uuid":"1097194638","full_name":"sofiashendi/daily-job-posting","owner":"sofiashendi","description":"A lightweight Node.js workflow that queries Google Jobs through SerpAPI, filters for postings published today, and emails the results using the Resend API. Ideal for tracking specific roles with daily automated notifications, fully hosted through GitHub Actions with no deployment required.","archived":false,"fork":false,"pushed_at":"2025-11-15T19:40:44.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-15T20:31:49.145Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sofiashendi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-15T17:56:37.000Z","updated_at":"2025-11-15T19:39:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sofiashendi/daily-job-posting","commit_stats":null,"previous_names":["sofiashendi/daily-job-posting"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sofiashendi/daily-job-posting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofiashendi%2Fdaily-job-posting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofiashendi%2Fdaily-job-posting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofiashendi%2Fdaily-job-posting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofiashendi%2Fdaily-job-posting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sofiashendi","download_url":"https://codeload.github.com/sofiashendi/daily-job-posting/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofiashendi%2Fdaily-job-posting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28528280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-18T03:33:40.506Z","updated_at":"2026-01-18T03:33:41.630Z","avatar_url":"https://github.com/sofiashendi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Daily Job Fetcher\n\nThis repository runs a daily GitHub Action that fetches new job postings from Google Jobs via SerpAPI, filters out entries published today, removes duplicates, and emails the results using Resend.\n\nCreated by **Sofia Shendi**  \nhttps://sofiashendi.com\n\nEverything runs on GitHub Actions, with no servers or deployment needed.\n\n---\n\n## Features\n\n- Fetches fresh job postings once per day\n- Uses SerpAPI to query Google Jobs\n- Filters postings published today\n- Removes duplicates by comparing job title and company\n- Sends results to your email using Resend\n- Fully automated through GitHub Actions\n\n---\n\n## Required Secrets\n\nYou must add these secrets in the repository settings under:\n\nSettings → Secrets and Variables → Actions\n\n### `SERPAPI_KEY`\nYour free [SerpAPI](https://serpapi.com/) key\n\n### `RESEND_API_KEY`\nYour free [Resend](https://resend.com/) API key\n\n### `SENDER_EMAIL_ADDRESS`\nVerified sender email address (use a domain configured in Resend)\n\n### `TO_EMAIL_ADDRESS`\nRecipient email address that receives the daily job summary\n\n### `ROLE_QUERY`\nComma-separated list of role queries to run each day  \nExample:  \nEngineering Manager jobs in Canada, Staff Engineer remote Canada\n\n---\n\n## How to Use\n\n1. Fork this repository to your own GitHub account (use the **Fork** button in the top-right)\n2. Update files if needed in your fork (the workflow and script are copied automatically)\n3. Add the required secrets\n4. The workflow runs daily at 12:00 UTC (07:00 EST time)\n5. You can also trigger it manually via the Actions tab\n\n---\n\n## Customization\n\nYou can set `ROLE_QUERY` to anything, such as:\n\n- Staff Engineer remote Canada\n- Senior Engineering Manager Montréal\n- Director of Engineering Canada\n\nInclude multiple values separated by commas to fetch several roles in one run. If the SerpAPI free tier limit is hit mid-run, the daily email will include a warning and the remaining roles are skipped to avoid exceeding the quota.\n\nBefore running the searches, the workflow checks your SerpAPI account (`total_searches_left`) so it knows how many roles can run that day. If there aren't enough credits for every role, it runs as many as possible and the email explains which roles were skipped because the quota was exhausted.\n\n---\n\n## Licence\n\nMIT Licence  \nCopyright © 2025  \nCreated by **Sofia Shendi**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofiashendi%2Fdaily-job-posting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsofiashendi%2Fdaily-job-posting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofiashendi%2Fdaily-job-posting/lists"}