Upwork API

Upwork 职位 API

按关键词搜索 Upwork 职位,每次请求最多返回 25 条最新职位。

US$7.00/千次请求,按请求付费,无需订阅。

"react developer" Jobs - Upwork
upwork.com/nx/search/jobs/?q=react%20developer
Find WorkMy JobsMessages

Filter results

3+ jobs found for “react developer”

React developer for analytics dashboard

$45-$75/hr·Hourly·Expert·1 to 3 months

Build three new views for an internal analytics dashboard using React, TanStack Query and Tailwind.

ReactTypeScriptTailwind CSSData Visualization

✓ Payment verified

Posted Sep 25, 2025

Frontend engineer to migrate legacy jQuery app to React

$35-$55/hr·Hourly·Intermediate·3 to 6 months

Looking for a frontend engineer to lead a phased migration of a jQuery order-management tool to React. Should be able to work independently, write tests, and document decisions for our small internal team.

ReactJavaScriptjQueryTesting

✓ Payment verified$26,400 spentUnited Kingdom21 proposals

Posted Sep 24, 2025

React developer for weekend bug-fix sprint

$25-$40/hr·Hourly·Entry·Less than 1 month

Small ecommerce storefront built in React and Next.js has a handful of checkout bugs to fix over a weekend. Need someone who can start immediately and communicate progress every few hours.

ReactNext.jsBug Fixes

$1,150 spentCanada34 proposals

API 返回的内容items[0]
{
"jobId": "~021847532910e4c1a2",
"title": "React developer for analytics dashboard",
"url": "https://www.upwork.com/jobs/~021847532910e4c1a2",
"description": "Build three new views for an internal analytics dashboard using React, TanStack Query and Tailwind.",
"hourlyRateMin": 45,
"hourlyRateMax": 75,
"jobType": "Hourly",
"experienceLevel": "Expert",
... 还有 13 个字段
}
可用率
99.98%
30d · 6,412 次调用
请求数
6,553
30d · 按周,近 12 周
响应时间
10.2s
中位数 · 30d

试一试

一个请求获取 Upwork 职位

requireFieldsarray
可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `premium` 或 `reposted`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某个职位确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。

这个示例展示了 25 个字段中的 23 个。查看全部字段

{
  "found": true,
  "data": {
    "items": [
      {
        "jobId": "~021847532910e4c1a2",
        "title": "React developer for analytics dashboard",
        "url": "https://www.upwork.com/jobs/~021847532910e4c1a2",
        "description": "Build three new views for an internal analytics dashboard using React, TanStack Query and Tailwind.",
        "hourlyRateMin": 45,
        "hourlyRateMax": 75,
        "jobType": "Hourly",
        "experienceLevel": "Expert",
        "paymentVerified": true,
        "tags": [
          "React",
          "TypeScript",
          "Tailwind CSS",
          "Data Visualization"
        ],
        "duration": "1 to 3 months"
      },
      {
        "jobId": "~018452901e3a1c6d47",
        "title": "Frontend engineer to migrate legacy jQuery app to React",
        "url": "https://www.upwork.com/jobs/~018452901e3a1c6d47",
        "description": "Looking for a frontend engineer to lead a phased migration of a jQuery order-management tool to React. Should be able to work independently, write tests, and document decisions for our small internal team.",
        "hourlyRateMin": 35,
        "hourlyRateMax": 55,
        "jobType": "Hourly",
        "experienceLevel": "Intermediate",
        "createdUtc": 1758794400,
        "paymentVerified": true,
        "tags": [
          "React",
          "JavaScript",
          "jQuery",
          "Testing"
        ],
        "clientLocation": "United Kingdom",
        "clientTotalSpent": 26400,
        "clientRating": 4.7,
        "proposals": 21,
        "currency": "USD",
        "duration": "3 to 6 months",
        "premium": true,
        "clientReviewCount": 9,
        "reposted": true
      },
      {
        "jobId": "~014739281a0c5b8e92",
        "title": "React developer for weekend bug-fix sprint",
        "url": "https://www.upwork.com/jobs/~014739281a0c5b8e92",
        "description": "Small ecommerce storefront built in React and Next.js has a handful of checkout bugs to fix over a weekend. Need someone who can start immediately and communicate progress every few hours.",
        "hourlyRateMin": 25,
        "hourlyRateMax": 40,
        "jobType": "Hourly",
        "experienceLevel": "Entry",
        "createdUtc": 1758708000,
        "paymentVerified": false,
        "tags": [
          "React",
          "Next.js",
          "Bug Fixes"
        ],
        "clientLocation": "Canada",
        "clientTotalSpent": 1150,
        "clientRating": 5,
        "proposals": 34,
        "currency": "USD",
        "duration": "Less than 1 month",
        "premium": false,
        "clientReviewCount": 2,
        "reposted": false
      }
    ]
  }
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

一个请求,一种响应结构。

你发送的每个字段和收到的每个字段,都附有真实示例。

最近验证于 2026-11-14 · 可用率和延迟按 30d 统计

请求体

JSON,POST 到这个接口。

  • querystring

    react developer

    用于搜索 Upwork 职位的关键词(例如 react developer)。

  • experienceLevelenum

    按要求的经验级别筛选。

  • jobTypeenum

    hourly

    按付款方式筛选:固定价格或按小时计费的职位。

  • limitinteger

    10

    最多返回的结果数(10-25,默认 25)。

  • locationstring

    按客户所在地点筛选:地区、次级地区或国家(例如 United States、Europe)。

  • paymentVerifiedboolean

    为 true 时,只返回付款方式已验证的客户发布的职位。

  • requireFieldsarray

    可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `premium` 或 `reposted`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某个职位确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。

  • sortenum

    职位排序方式:newest 或 relevance(例如 newest)。

你发送。 一个简短的 JSON 请求体。显示的值只是示例,请换成你自己的。

响应

JSON,每个字段一个示例值。

each itemdata.items[]

Job records: title, description, budget or hourly rate, required skills, posted date, and client details. Populated whenever the provider has data for the entity.

  • budgetstring

    Fixed-price budget in USD (e.g. $4000). Absent on hourly jobs, which carry hourlyRateMin and hourlyRateMax.

  • clientLocationstring

    Client country or location.

  • clientRatingnumber

    Client average rating.

  • clientReviewCountinteger

    Number of reviews the client has received from past contracts.

  • clientTotalSpentnumber

    Client lifetime spend (USD).

  • createdUtcnumber

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • currencystring

    ISO currency code the budget is quoted in (e.g. USD).

  • descriptionstring

    Build three new views for an internal analytics dashboard using React, TanStack Query and Tailwind.

    Full job posting description text. Populated whenever the provider has data for the entity.

  • durationstring

    1 to 3 months

    Expected engagement length as Upwork words it (e.g. "1 to 3 months").

  • experienceLevelstring

    Expert

    Required experience level (e.g. Entry, Intermediate, Expert).

  • hourlyRateMaxnumber

    75

    Upper bound of the client's hourly rate range in USD. Absent on fixed-price jobs.

  • hourlyRateMinnumber

    45

    Lower bound of the client's hourly rate range in USD. Absent on fixed-price jobs.

  • jobIdstring

    ~021847532910e4c1a2

    Upwork job identifier. Populated whenever the provider has data for the entity.

  • jobTypestring

    Hourly

    Fixed or Hourly.

  • paymentVerifiedboolean

    true

    Whether the client's payment method is verified; null when Upwork reports it as unknown.

  • premiumboolean可设为必填

    Whether Upwork flags the posting as premium.

  • proposalsinteger

    Number of proposals submitted.

  • repostedboolean可设为必填

    Whether the posting is a repost of an earlier job.

  • tagsstring[]

    Skill tags.

  • titlestring

    React developer for analytics dashboard

    Job posting title. Populated whenever the provider has data for the entity.

  • urlstring

    https://www.upwork.com/jobs/~021847532910e4c1a2

    Upwork job posting URL. Populated whenever the provider has data for the entity.

top level
  • foundboolean

    true

    Whether any jobs were found for the search.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

你收到。 字段有名称、有类型,无论哪个数据源响应,结构都一样。

常见问题

关于 Upwork 职位 API

AnyAPI 的 Upwork 职位 API 只需一次 POST 请求 /v1/run/upwork.jobs,就以统一格式的 JSON 返回 Upwork 数据。按关键词搜索 Upwork 职位,每次请求最多返回 25 条最新职位。AnyAPI 会在 3 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$7 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Upwork 职位 API 调用中有 100.0% 成功,响应时间中位数为 10.2 秒,共测量 6,412 次调用。

费用:每千次请求 US$7 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

按关键词搜索 Upwork 职位,每次请求最多返回 25 条最新职位。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 Upwork 职位 API 调用中有 100.0% 成功,响应时间中位数为 10.2 秒,共测量 6,412 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,足够调用 14 次 Upwork 职位,每次 US$0.007。

AnyAPI 会在同一个请求中依次尝试它的 3 个数据源,从最便宜的开始,所以一个数据源宕机不会让你的调用失败。

向 https://api.getanyapi.com/v1/run/upwork.jobs 发送 POST 请求,在 “Authorization: Bearer” 请求头中放入你的 AnyAPI 密钥,并以 JSON 请求体传入参数。同一个密钥和同一个钱包适用于所有 AnyAPI 接口。

不需要。你向一个预付费的 AnyAPI 余额充值美元,每个请求从中扣费。没有月度套餐,也没有最低消费,同一个余额可用于所有 AnyAPI 接口。

有。TypeScript 用 npm 安装 @getanyapi/sdk,Python 用 pip 安装 getanyapi。两者都用同一个密钥调用所有 AnyAPI 接口,任何 HTTP 客户端也都可以。

可以。智能体可以连接 https://api.getanyapi.com/mcp 上的 AnyAPI MCP 服务器,或者向 https://api.getanyapi.com/agent/signup 发送一次无需认证的 POST 来创建自己的免费试用密钥,再通过 HTTP 调用这个接口。