# SiteCheck Shop & Social – Upwork Freelance Job Listings by Skill

> SiteCheck Shop & Social – Upwork Freelance Job Listings by Skill is a paid API for AI agents from api.shopsocial-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-29).

Returns the newest up to 30 open Upwork freelance jobs for a given skill slug, including title, description excerpt, budget, experience level, duration, weekly hours, required skills, posted time, job link, and total open job count for that skill.

## Facts

- Endpoint: GET https://api.shopsocial-api.workers.dev/api/social/upwork?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sitecheck-shop-social-upwork-freelance-job-listings-by-skill-b67675c2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_V26p0-l6uZUbxLMferHZb

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sitecheck-shop-social-upwork-freelance-job-listings-by-skill-b67675c2
```

Example prompt: Pull the 20 newest Upwork freelance job postings for 'shopify' — I want to see titles, budget type, experience level, and links so I can spot what clients are hiring for right now.

## When to prefer this

Use this endpoint when you need fresh, structured Upwork job data for a specific skill without managing a browser or proxy yourself. Prefer it over Upwork's own API (which requires OAuth and approved access) for lightweight, public-data lookups. Best suited for freelancers monitoring demand, agencies benchmarking rates, or agents automating job discovery workflows. Not appropriate for bulk multi-skill sweeps (one skill per call) or for platforms other than Upwork.

## Known failure modes

- Invalid or non-existent skill slug returns empty results or an error
- Upwork blocks or rate-limits the residential proxy, causing a timeout or partial response
- Limit parameter out of range (below 1 or above 30) may return default of 10 or an error
- Upwork HTML structure changes may cause parsing failures and empty/malformed fields
- Network timeout from the proxy layer returns a 5xx error

## How this service works

Upwork open jobs for one skill (e.g. python, shopify, video-editing): the newest 30 freelance jobs with title, description (first 600 characters), hourly or fixed budget, experience level, duration, weekly hours, skills, posted time and link, plus the total number of open jobs for that skill. From upwork.com's public freelance-jobs pages through a residential proxy.

## Output

A JSON response containing an array of up to 30 job objects (each with title, description excerpt up to 600 chars, budget type and amount, experience level, project duration, weekly hours commitment, skills tags, posted time, and direct job URL) plus a top-level field indicating the total count of open jobs for that skill on Upwork at the time of the request.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "skill"
     ],
     "properties": {
      "limit": {
       "type": "string",
       "description": "How many jobs, 1 to 30 (default 10)"
      },
      "skill": {
       "type": "string",
       "description": "Skill slug as in upwork.com/freelance-jobs/<skill>/, e.g. 'python', 'wordpress', 'data-entry'"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sitecheck-shop-social-upwork-freelance-job-listings-by-skill-b67675c2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.shopsocial-api.workers.dev](https://www.zero.xyz/host/api.shopsocial-api.workers.dev/llms.txt)
