API de Upwork

API de Upwork: Empleos

Busca vacantes de Upwork por palabra clave, con hasta 25 vacantes recientes por solicitud.

US$7.00/1k solic., pagas por solicitud, sin suscripción.

"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

Lo que devolvió la APIitems[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 campos más
}
Disponibilidad
99.98%
30d · 6,412 llamadas
Solicitudes
6,553
30d · semanal, últimas 12 sem.
Respuesta
10.2s
mediana · 30d

Pruébalo

Obtén Empleos de Upwork en una sola solicitud

requireFieldsarray
Opcional; si lo omites, el enrutamiento no cambia y atiende la fuente más barata. Indica los campos de salida que esta solicitud debe poder devolver, por ejemplo `premium` o `reposted`, y solo la atenderá una fuente que los devuelva todos. Los campos que no indiques se siguen devolviendo siempre que la fuente que atiende los tenga. Esto puede subir tu precio: cuando la fuente más barata no puede devolver un campo indicado, atiende una fuente más cara, y se te cotiza y cobra su precio. Un campo indicado puede faltar igualmente en una vacante que realmente no lo tenga. Indicar una combinación que ninguna fuente devuelve junta se rechaza como entrada no válida, sin cargo.
Abrir en
Respuesta de ejemplo
Las ejecuciones gratis devuelven solo los primeros 3 resultados. Agrega fondos a una clave para obtener la respuesta completa.

Este ejemplo muestra 23 de 25 campos. Ver todos los campos

{
  "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
      }
    ]
  }
}

Referencia completa de parámetros y respuesta: cada campo, tipo y ejemplo de este endpoint.

Referencia

Una solicitud, un formato de respuesta.

Cada campo que envías y cada campo que recibes, cada uno con un ejemplo real.

Verificado por última vez el 2026-11-14 · disponibilidad y latencia medidas en 30d

Cuerpo de la solicitud

JSON, enviado por POST a este endpoint.

  • querystring

    react developer

    Palabras clave para buscar vacantes en Upwork (p. ej., react developer).

  • experienceLevelenum

    Filtra por el nivel de experiencia requerido.

  • jobTypeenum

    hourly

    Filtra por tipo de pago: vacantes de precio fijo o por hora.

  • limitinteger

    10

    Número máximo de resultados a devolver (10-25, por defecto 25).

  • locationstring

    Filtra por la ubicación del cliente: una región, subregión o país (p. ej., United States, Europe).

  • paymentVerifiedboolean

    Si es true, devuelve solo vacantes de clientes con un método de pago verificado.

  • requireFieldsarray

    Opcional; si lo omites, el enrutamiento no cambia y atiende la fuente más barata. Indica los campos de salida que esta solicitud debe poder devolver, por ejemplo `premium` o `reposted`, y solo la atenderá una fuente que los devuelva todos. Los campos que no indiques se siguen devolviendo siempre que la fuente que atiende los tenga. Esto puede subir tu precio: cuando la fuente más barata no puede devolver un campo indicado, atiende una fuente más cara, y se te cotiza y cobra su precio. Un campo indicado puede faltar igualmente en una vacante que realmente no lo tenga. Indicar una combinación que ninguna fuente devuelve junta se rechaza como entrada no válida, sin cargo.

  • sortenum

    Orden de las vacantes: newest o relevance (p. ej., newest).

Envías. Un cuerpo JSON pequeño. Los valores que se muestran son ejemplos para reemplazar por los tuyos.

Respuesta

JSON, un valor de ejemplo por campo.

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.

  • premiumbooleanse puede exigir

    Whether Upwork flags the posting as premium.

  • proposalsinteger

    Number of proposals submitted.

  • repostedbooleanse puede exigir

    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.

Recibes. Campos con nombre y tipo, con el mismo formato sin importar qué fuente responda.

Preguntas frecuentes

Acerca del endpoint Empleos de la API de Upwork

El endpoint Empleos de AnyAPI para Upwork devuelve datos de Upwork como JSON normalizado con una sola llamada POST a /v1/run/upwork.jobs. Busca vacantes de Upwork por palabra clave, con hasta 25 vacantes recientes por solicitud. AnyAPI enruta cada solicitud entre 3 fuentes y recurre automáticamente a otra cuando una falla. Cuesta desde US$7 por cada 1,000 solicitudes, en dólares estadounidenses, sin suscripción y sin mínimo mensual. En los últimos 30 días, el 100.0% de las llamadas al endpoint Empleos de la API de Upwork a través de AnyAPI tuvo éxito, con un tiempo de respuesta mediano de 10.2 segundos en 6412 llamadas medidas.

Cuesta desde US$7 por cada 1,000 solicitudes, en dólares estadounidenses, sin suscripción y sin mínimo mensual. Agregas fondos a una billetera en dólares y cada llamada descuenta de ella. Algunas solicitudes fallidas pagadas con la billetera generan cargos de procesamiento que trasladamos al costo, sin margen; la respuesta de error muestra el monto cobrado.

Busca vacantes de Upwork por palabra clave, con hasta 25 vacantes recientes por solicitud. La respuesta es JSON normalizado con el mismo envoltorio que devuelve cada endpoint de AnyAPI, así que procesar un segundo endpoint es solo cambiar la URL.

En los últimos 30 días, el 100.0% de las llamadas al endpoint Empleos de la API de Upwork a través de AnyAPI tuvo éxito, con un tiempo de respuesta mediano de 10.2 segundos en 6412 llamadas medidas. Estas son mediciones propias de AnyAPI sobre el tráfico que pasa por el gateway, recalculadas continuamente, no un objetivo de nivel de servicio publicado.

Sí. Una cuenta nueva de AnyAPI empieza con US$0.10 de saldo gratis, sin tarjeta, que alcanza para 14 llamadas a Empleos de Upwork a US$0.007 cada una.

AnyAPI consulta la siguiente de sus 3 fuentes en la misma solicitud, empezando por la más barata, así que la caída de una fuente no hace fallar tu llamada.

Envía una solicitud POST a https://api.getanyapi.com/v1/run/upwork.jobs con tu clave de AnyAPI en un encabezado "Authorization: Bearer" y la entrada como cuerpo JSON. La misma clave y la misma billetera sirven para todos los endpoints de AnyAPI.

No. Agregas dólares a un solo saldo prepagado de AnyAPI y cada solicitud descuenta de él. No hay plan mensual ni mínimo, y el mismo saldo paga todos los endpoints de AnyAPI.

Sí. Instala @getanyapi/sdk desde npm para TypeScript o getanyapi desde pip para Python. Ambos llaman a todos los endpoints de AnyAPI con la misma clave, y también sirve cualquier cliente HTTP.

Sí. Un agente puede conectarse al servidor MCP de AnyAPI en https://api.getanyapi.com/mcp, o crear su propia clave de prueba gratis con un solo POST sin autenticar a https://api.getanyapi.com/agent/signup y llamar a este endpoint por HTTP.