Stop refreshing the feed. Your bot bids while you sleep.
It searches Freelancer.com on your keywords, throws out the junk, scores what's left with AI, and sends you a one-tap card in Telegram. You tap ✅ — it writes the proposal and places the bid.
Nothing is bid without your tap · ~10 minute install · free updates
Two ways to bid
Let it hunt, or hand it a link.
The bot works on a schedule and on demand. Message it a keyword and it searches right now. Or paste a job you found yourself — pasting the link is the approval.
You send a keyword. It does the rest.
Message the bot python scraping and it searches immediately. Or let the
6-hour schedule run your default keyword while you sleep. Per-search overrides work
inline: react minBudget=200 maxBidCount=25.
- Skips projects that are closed or already past your bid-count threshold
- Removes everything you've already bid on — checked live against your account
- Scores the survivors 0–10 and sends one approval card each
Skip ≠ lose
Tap ❌ and that project is marked declined and never shown again. But if you simply don't answer — you were asleep, you were busy — it comes back in the next search. Missing an approval costs you nothing.
Nothing is filtered out by score. The score is there to help you judge in about three seconds, not to make the decision for you.
Found one yourself? Paste it.
Share the Freelancer.com link into the chat. No search, no approval card, no forms — the bot pulls that exact project, writes the proposal, and bids on it.
- Up to 10 links in one message
- Works whether Telegram shows the raw URL or a blue title
- Tells you if a project turned out to be closed or already bid on
Link mode trusts you completely
Bid count, budget range and your skip list are all ignored when you paste a link — you chose that job, so the bot doesn't second-guess it.
Want to be asked first anyway? Add autoBid=false to the message and the
approval card comes back.
Features
Built by someone who got tired of losing to faster bidders.
Search that fits how you actually work
On demand from the chat, or on a 6-hour schedule. Per-search overrides inline: react minBudget=200 maxBidCount=25.
Paste a link, get a bid
Up to 10 Freelancer.com links in one message. Pasting the link is the approval — no forms, no card, straight to the bid.
Quality filter
Drops closed projects and anything already past your bid-count threshold — the ones you'd never win.
AI relevance scoring
Every project scored 0–10 in a single batched call — not one per project. Keeps the OpenAI bill in cents.
Telegram approval, one tap
Title, budget, average bid, bid count, skills, score, reason, the exact bid amount, and a link. Two buttons.
AI proposals
On approval, an agent writes a short, specific proposal for that project and signs it with your username. You get a copy.
Never bid twice
One batched call to the bids API removes every project you've already bid on — live against your real account, not a local guess.
Auto-bid mode
Set autoBid=true globally or per search and the approval step is skipped. You still get the full proposal for every bid placed.
Award tracking
bidTracker watches pending bids. Win one and you get a Telegram prompt to accept the award — through the API, one tap.
Locked to you
Only your Telegram chat ID can control the bot; every other chat is silently ignored. Tokens live in n8n's credential store, never in workflow fields.
Every run reports back
When it finds nothing, it tells you why.
This is the part most bidding bots get wrong. No more wondering whether it ran, broke, or just had a quiet hour.
🔎 Search: "n8n" • Found: 12 • Passed filters: 0 • Not skipped before: 0 • Not bid on yet: 0 🚫 All 12 project(s) were filtered out: 2 not active, 10 already above your maxBidCount of 40.
Smart bid pricing
Undercut the field without going under the client's floor.
The bot bids 10% below the current average — then clamps that into the client's stated budget range, so it never lowballs past the floor or overshoots the ceiling. Drag the sliders to see it.
10% under the average, comfortably inside the client's range.
Illustrative calculator — it runs the same formula the workflow uses.
What you get
Four workflows, two data tables, one setup node.
Import the files, create three credentials, fill in one Setup node, activate. Roughly ten
minutes. install_instructions.md walks through every step with the exact node
names to click, plus a troubleshooting section for the errors people actually hit.
Requirements
No coding. If you can import JSON and paste an API key, you can run this.
Honest limitations
I'd rather you know before you buy.
Freelancer.com's project search API doesn't return usable client data — no name, rating, review count, or payment-verified flag. So there's no "only verified clients" filter, and any tool claiming one on the search endpoint is guessing. You see budget, bid count, average bid, and skills.
Freelancer, Telegram, and OpenAI. All three have free or near-free tiers at this volume.
Small — one batched scoring call per run, one proposal per approved bid — but not zero.
This gets you in early with a decent proposal. It does not manufacture a reputation you haven't earned.
It bids on everything matching your query with no approval. Tune maxBidCount and your budget range before enabling it on a schedule.
Bid count, budget range and your skip list are all ignored in link mode — you chose that job, so the bot trusts you. Add autoBid=false to be asked first.
FAQ
The questions people ask first.
Does it work on n8n Cloud?
Yes — built and tested on n8n Cloud. Self-hosted works too, as long as Data Tables are available.
Can I change the proposal style?
Yes. The system prompt lives in the AI Agent node. Edit it like any text field.
Can I bid on a specific job I found myself?
Yes — paste its Freelancer.com link into the chat. The bot bids on that one straight away, skipping the search and the approval step.
Can I run several keywords?
Yes — just message the bot again with a different query. The schedule runs one default keyword; duplicate the schedule trigger for more.
What if Freelancer's API errors?
Every HTTP node has retries and an error branch wired to the shared SendError workflow, which messages you what broke.
Will it spam me?
One approval card per project it wants to bid on, one confirmation per bid placed, and exactly one summary per run. That's it.
What about support and updates?
Questions, or a workflow that won't import — message me through Gumroad. Includes free updates to the workflow files.
Get started
🤖 Freelancer.com Auto-Bidder for n8n
Four workflows, an install guide, and the starter data tables. Import, connect, activate — and let it watch the feed for you.
- All four n8n workflows as importable JSON
-
install_instructions.mdwith exact node names and troubleshooting - Starter CSVs for the two data tables
- Free updates, and support through Gumroad
More from mohawk36
Other things I've built.
Same approach — one importable file, an honest README, and no pretending the hard parts are solved.
✍️ AI Blog Engine for WordPress
One keyword in, a researched, internally-linked, SEO-graded WordPress draft out — with tags, category and a featured image attached.
$39 View product🛠️ One-Hour Automation Support
Stuck on an n8n workflow, an API, or an integration? Book an hour and we'll troubleshoot, optimise, or build it with you.
$25 Book a sessionBrowse the whole shop
Every workflow and service in one place.
mohawk36.gumroad.com