使用场景

抢在别人之前发现适合你技能的 Upwork 新职位

按关键词搜索 Upwork,以 JSON 获取职位的预算、技能要求、客户历史和发布时间,及时发现值得投标的项目并跟踪需求变化,按结果计费。

预付费,无订阅REST 或 MCP一个密钥搞定模型、数据和智能体
Upworklovelyjsonitems[0]"title": "Build a price scraper…"budget": "500""skills": "Python, Web scraping""client_history": "Payment verified""posted": "2 hours ago"

如果你是自由职业者,或经营一家小型工作室,Upwork 上最好的职位往往被最先投标的几个人拿走,而搜索页面却要你手动刷新。如果你出售服务,同样的职位列表还能告诉你客户在找什么、愿意付多少钱。Lovely Router 替你执行搜索:发送关键词和筛选条件,每个职位返回一个 JSON 对象,按职位数量从预付费余额中计费。用一个 API 密钥,就能从定时任务、Slack 机器人或 AI 智能体中调用。

交给你的 AI 智能体

把这段提示词复制到 Claude Code、Cursor、Codex 或任何编程智能体中。它会告诉智能体文档在哪里,以及如何使用你的 API 密钥。

抢在别人之前发现适合你技能的 Upwork 新职位. Use the Lovely Router data tools: each returns JSON and is billed per result.

- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.

My task: <the inputs (links, keywords or accounts) and how many results you need>
01

工作原理

010203
  1. 选择与你所提供服务相关的关键词,例如 web scraping 或 data entry。可以添加经验等级、付款类型或付款已验证等筛选条件,并按 newest 排序。

  2. 设置上限后运行工具

    把输入连同 max_results 发送到 POST /v1/tools/upwork-jobs/run。运行会从你的余额中预留它的最高费用,并以 JSON 返回职位。

  3. 过滤并通知

    记录你已经看过的职位 ID。每次运行时,只把符合你的预算、技能和客户历史要求的新职位发给自己。

02

一次请求获取 Upwork 职位

搜索 Upwork 职位接受 query。结果数量上限通过 perPage 设置;下面的示例请求 10 个职位:

curl https://lovelyrouter.com/v1/tools/upwork-jobs/run \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "input": {
      "query": "web scraping",
      "perPage": 10
    },
    "max_results": 10
  }'

返回的职位与搜索页面展示的一致;当 sort 设为 newest(默认值)时,最新的排在最前。运行超过 60 秒仍未结束时会返回 202;轮询方法见运行工具。

03

每个职位包含什么

字段组你会得到
职位标题和客户的需求描述
报酬预算或费率
技能客户标记的技能
客户客户历史
时间职位的发布时间

可以用 experienceLevel、jobType(付款类型)和 paymentVerified 缩小搜索范围。也可以在同一条流程里让模型根据你的个人资料给每个职位打分。

04

实用配方

新项目提醒。

每 30 分钟用你的关键词运行一次,并把 sort 设为 newest。把结果与已存储的职位 ID 对比,只把新职位发到某个频道。

只向可靠的客户投标。

把 paymentVerified 设为 true,再保留客户历史看起来比较成熟的职位。

为你的服务定价。

拉取 50 个与你所售服务相关的职位,查看预算和费率,再参照区间的中间值设定你自己的价格。

跟踪哪些技能需求旺盛。

统计一周职位中的技能标签,了解接下来该学什么、该宣传什么。

用模型起草投标书。

把每个新职位连同你的作品集发给模型,让它写出初稿,你修改后再发送。

更想直接用自然语言提问?连接 MCP 服务器,然后对 Claude Code 或 Cursor 说:"找出 30 个最新的、付款已验证的 web scraping 职位,去掉没有标明预算的,列出标题、预算、技能和客户历史。将 max_results 设为 30。"

06

费用说明

按职位付费:启动运行时会预留它的最高费用,即每次调用费加上每个职位费乘以 max_results,结束后按实际返回的结果结算,预留的剩余部分退回你的余额。失败或超时的运行只为已交付的职位付费,在开始时就被拒绝的运行不收费。

每小时检查 50 个职位,就按每次运行 50 个职位计费,所以范围窄、max_results 低的搜索能把成本控制得很小。没有订阅,也没有每月最低消费:最低充值 $5,工具和模型共用一个余额。上方卡片显示的是当前价格;价格页面列出了所有工具。

07

常见问题

?
可以按关键词搜索 Upwork 吗?+

可以。query 字段接受关键词,sort 可以是 newest 或 relevance。

支持哪些筛选条件?+

经验等级、职位类型(付款类型)和付款是否已验证。其他条件可以在运行结束后用你自己的代码过滤。

一次运行最多能返回多少个职位?+

最多 50 个,通过 perPage 设置。默认是 20,设置后一次运行至少返回 10 个。

它会替我申请职位或发送投标书吗?+

不会。它只读取职位列表并以 JSON 返回。投标书由你自己撰写并发送。

需要订阅吗?+

不需要。你向预付费余额充值,每次运行从中扣费。失败的运行只为已交付的结果付费,不会自动续费。

也想了解招聘方的视角?请看招聘数据,以及其余的工具目录。

一个预付费密钥,搞定模型、数据和智能体

无需订阅。充值后按需使用,每笔费用都能在日志中查看。