Freelance Lead Radar — No-Noise Job Leads with ROI Score avatar

Freelance Lead Radar — No-Noise Job Leads with ROI Score

Pricing

from $15.00 / 1,000 leads

Go to Apify Store
Freelance Lead Radar — No-Noise Job Leads with ROI Score

Freelance Lead Radar — No-Noise Job Leads with ROI Score

Scans GitHub bounties, Hacker News contract threads and Freelancer.com, drops the noise (for-hire posts, $5 bounties, bait repos, duplicates), estimates effort in hours, and ranks every lead by USD per hour. Get a short list worth quoting on.

Pricing

from $15.00 / 1,000 leads

Rating

0.0

(0)

Developer

Radar Labs

Radar Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 minutes ago

Last modified

Share

Freelance Lead Radar

One feed. No noise. Sorted by how much money you make per hour.

Most freelance-job scrapers give you what the platforms give them: hundreds of listings, a third of which are people looking for work, a third of which have no budget, and a long tail of ₹200 data-entry gigs. You still spend 40 minutes a day triaging.

This Actor does the triage for you:

  1. Aggregates five independent sources — GitHub bounty issues, Hacker News contract posts, Freelancer.com projects, YesWeHack public bug-bounty programs, and Remotive remote jobs.
  2. Removes the noise — [FOR HIRE] posts, "seeking work" comments, listings with no stated budget, sub-$20 gigs, equity-only "co-founder" ads, and bounty-farm repos where forks outnumber stars 3:1 (the classic pattern of a repo that manufactures fake $8k bounties for engagement).
  3. Scores every survivor 0–100 on money, effort, fit, freshness, and competition, then reports USD/hour so you can pick by return rather than by headline number.

You pay per lead that survives the filter. Noise we removed is not billed.


What you get

One dataset row per lead:

FieldMeaning
titleThe lead headline
urlDirect link to the issue / comment / project
sourcegithub · hn · freelancer · yeswehack · remote
kindbounty (fixed-price task) · gig (contract) · job (salaried)
orgRepo (owner/name), company, or posting author
payoutUsdBudget converted to USD
effortHoursEstimated hours to deliver
roiUsdPerHourpayoutUsd / effortHours
valueScore0–100 composite
postedAtISO timestamp
bidCountCompeting bids already placed (Freelancer.com only)
labelsRepo labels or required skills
summaryFirst ~300 chars of the description

A SUMMARY key-value record reports how many items were scraped, how many survived de-noising, and which sources failed — so a partial run is visible rather than silent.


Why the noise filter matters

Run against live data at the time of writing, one default run pulled 101 raw items and delivered 85 usable leads — 16 were rejected as noise, before de-duplication removed several more. Across a week of runs the rejected share is typically 20–30%, and it is dominated by three things:

  • Bounty farms. A repo with 14 stars and 200 forks posting [Bounty $8k] titles is not paying $8k. Real bounty repos have more stars than forks.
  • Job-seeker posts. The monthly HN freelancer thread is roughly half people advertising themselves, not hiring.
  • Unpriced listings. A gig with no number is usually a "how much would you charge?" fishing expedition.

Filtering these is the entire product. Everything else is plumbing.


Input

FieldDefaultNotes
sources["github","hn","freelancer","yeswehack"]Add remote for salaried roles
maxLeads25Each returned lead is one billed event
minScore0Raise to ~50 for a high-precision feed
minPayoutUsd0Hard floor on money
perSourcemax(maxLeads*2, 30)Raw items pulled per source before filtering

Example: high-precision, high-payout only

{
"sources": ["github", "freelancer"],
"maxLeads": 10,
"minScore": 55,
"minPayoutUsd": 300
}

Example: broad daily sweep

{
"sources": ["github", "hn", "freelancer", "yeswehack", "remote"],
"maxLeads": 50,
"minScore": 0
}

Pricing

Pay per event — you pay for results, not for noise.

EventPriceCharged when
lead-returned$0.015once for each lead written to the dataset
apify-actor-start$0.005once per run (one event per GB of memory, minimum one)

With the default maxLeads: 25, a run costs roughly $0.38. Ask for 5 leads and it's about $0.08.

Why this model:

  • A run that finds nothing costs only the start event.
  • Filtered-out noise is never billed. You pay for leads that survived, not for what we threw away.
  • maxLeads caps your maximum spend per run, so cost is predictable.

Apify bills platform usage separately (compute, proxy, storage); this Actor uses no proxies, no browser and no SERP calls, so that part stays in the sub-cent range.


Scheduling

Set a daily schedule (08:00 local) and point a notification at the run. The feed is meant to be read once a day over coffee, not monitored.


Limits and honest caveats

  • Freelancer.com is rate-limited. Requests are spaced out; a run takes roughly 60–120 seconds. This is why the Actor is not instant.
  • GitHub's label:bounty signal is polluted. That is precisely why the repo-health check exists. Without it, roughly 95% of that label's newest issues come from a single farm repo.
  • effortHours is a keyword heuristic, not an LLM estimate. It is directionally right (a typo fix is 0.5h, a mobile app is 60h) and deliberately conservative on unknowns (6h default).
  • Unpriced listings are ranked low on purpose. A post that never states a number scores 55% lower than an identical priced one, because "how much would you charge?" leads are the single biggest time sink. If you want them anyway, they are still in the dataset — just further down.
  • Amounts in prose are read conservatively. A GitHub issue whose body says "€230,000 across 214 programs" is a summary, not a €230,000 bounty, so it is not scored as one. Amounts must sit next to a word like bounty, reward, or budget and must not be part of a total/average statement.
  • Bug-bounty programs are ranges, not prices. YesWeHack publishes min/max rewards per program, and taking the ceiling would fake a top result (one program's €100–230,000 range would score as $248,400). We take the geometric mean of the range, or max/10 when only a ceiling exists, and keep the raw range in summary. Effort is pinned at 24h because scope is open-ended — you may hunt for three days, or land it in the first hour.
  • No bidding, no applying. This Actor only finds and ranks. Submitting proposals is against the terms of every platform it reads from, and automating it gets accounts banned. You still click submit.
  • Payout parsing prefers the first amount in the text. A post that mentions "$500 budget, previously paid $50k" yields $500. Prefer the summary field when a number looks wrong.

Sources and their terms

All five are public read-only endpoints that require no login:

SourceEndpointAuth
GitHubapi.github.com/search/issuesnone (optional token raises rate limit)
Hacker Newshn.algolia.com/api/v1none
Freelancer.comfreelancer.com/api/projects/0.1none
YesWeHackapi.yeswehack.com/programsnone (public program list only — we never submit reports or scan targets)
Remotiveremotive.com/api/remote-jobsnone

None of these are scraped with a browser, so there is no fingerprinting, no CAPTCHA solving, and no proxy dependency. If a source changes its API the Actor logs the failure and returns the rest.


Local development

pip install -r requirements.txt
python -m src # runs against real APIs, writes to local storage
python tests/test_radar_core.py # 53 offline unit tests, no network

The scoring and filtering logic lives in src/radar_core.py and has no Apify dependency, so it can be tested and reused standalone.