Playground Sign in Start free
Recipe Freelance and agencies

Upwork scraper API: search results as JSON

Send any Upwork page URL with recipe=upwork and get title, skills, posted and 1 more field as JSON. No selectors to write, no proxies to pick.

  • 1 page type
  • 4 fields
  • 5 credits a page · $0.50 per 1,000
  • Working · 89.3% in 7 days

5,000 free credits for 7 days, no card.

recipe=upwork
curl -G 'https://api.ujeebu.com/scrape' \
  -H "ApiKey: $UJEEBU_API_KEY" \
  --data-urlencode 'url=https://www.upwork.com/freelance-jobs/wordpress/' \
  --data-urlencode 'recipe=upwork'
200 OK · JSON
{
    "result": {
        "projects": [
            {
                "title": "Wordpress Developer",
                "skills": "WordPress",
                "posted": "‐ Posted 18 hours ago"
            }
        ]
    },
    "success": true
}

What you get from Upwork

The fields of each page type and a real sample from our last validation, shortened.

Search and listing pages recipe=upwork 5 credits a page

FieldTypeExample
projectslist of 3+ items
projects[].urlURLhttps://www.upwork.com/freelance-jobs/apply/Wordpress-Developer_~02...
projects[].titletextWordpress Developer
projects[].postedtext‐ Posted 18 hours ago
projects[].skillstextWordPress

Sample answer, validated 2026-11-12

{
    "projects": [
        {
            "url": "https://www.upwork.com/freelance-jobs/apply/Wordpress-Developer_~022120566282007779579/",
            "title": "Wordpress Developer",
            "posted": "‐ Posted 18 hours ago",
            "skills": "WordPress"
        },
        {
            "url": "https://www.upwork.com/freelance-jobs/apply/Setting-basic-logo-and-visual-branding-website-and-other-related-services_~022120568209309686700/",
            "title": "Setting up a basic logo and visual branding, website, and other related services",
            "posted": "‐ Posted 18 hours ago",
            "skills": "WordPress"
        }
    ]
}

One call

Send the page URL and the recipe name to the Scrape API. The recipe brings the extract rules and the settings that work on Upwork (JavaScript rendering).

curl -G 'https://api.ujeebu.com/scrape' \
  -H "ApiKey: $UJEEBU_API_KEY" \
  --data-urlencode 'url=https://www.upwork.com/freelance-jobs/wordpress/' \
  --data-urlencode 'recipe=upwork'

The answer is {"result": {...}} with the headers Ujb-Recipe and Ujb-Credits. Your own parameters always win over the recipe.

What people build with Upwork data

  • Demand research

    Track which skills and project types are in demand, and the budgets offered.

    Learn more

Price

Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.

Page typeCredits a pagePer 1,000, StarterPer 1,000, Pro
Search results5$0.82$0.50

See all plans

FAQ

What does the Upwork recipe return?

JSON with 4 fields from search results (recipe=upwork), for example title, skills, posted, url. The answer is {"result": {...}} with the fields shown on this page.

How much does it cost to scrape Upwork?

5 credits a page ($0.50 per 1,000 on Pro, $0.82 on Starter). Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.

Do I need proxies or a headless browser?

No. The recipe brings the settings that work on Upwork: JavaScript rendering. Send only the URL and recipe=upwork.

What happens when Upwork changes its pages?

We check Upwork every day and re-validate the recipe on real pages every week, then fix it when the site changes. Until a fix is live, the API answers 404 "the recipe has no working version" instead of empty data, and that call is free.

Can I change the fields?

Yes. Send your own extract_rules or any setting (js, proxy_type, wait_for) and it wins over the recipe. The developer guide shows the recipe rules to start from.

Get Upwork data as JSON today.

5,000 free credits for 7 days. No card.