EveryData platform API
Upwork API
The Upwork catalog exposes 2 action-specific paths for Upwork job posts and freelancer discovery results, featuring `search` and `freelancers` while preserving each object boundary.
The opening Upwork path, `search`, works with matching public results using `keyword`; `freelancers` instead works with freelancer candidates using `keyword`, preventing cross-action assumptions.
- Endpoint
- POST /api/v1/social
- Capabilities
- 2
- Per 1,000
- $1.389
Available capabilities
Compare the Upwork actions by required input, returned data, and price. Use the action identifier exactly as shown in your request.
| Action | Required | Optional | Delivery | Limit | Per 1,000 | Response fields |
|---|---|---|---|---|---|---|
searchSearch Search public results on Upwork. Accepts these parameters: | keyword | exclude_keywords, job_type, since, sort, until | Sync delivery | Catalog values: defaultLimit=20, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count. | $1.39 per 1,000 requests | id · url · title · text · budget · budget_currency · hourly_rate_min · hourly_rate_max · job_type · experience_level · engagement_type · duration · proposals · persons_to_hire · posted_at · tags · client_name · client_location · client_rating · client_review_count · client_total_spent · client_hire_rate · client_avg_hourly_rate · payment_verified · platform |
freelancersFreelancers Search public freelancer profiles on Upwork. Accepts these parameters: | keyword | country, top_rated | Sync delivery | Catalog values: defaultLimit=10, maxLimit=200. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count. | $1.39 per 1,000 requests | id · url · name · title · text · location · region · timezone · hourly_rate · currency · job_success_score · total_earnings · total_jobs · total_hours · total_hourly_jobs · total_fixed_jobs · is_top_rated · is_top_rated_plus · is_vetted · is_available · skills · image_url · platform |
What does each Upwork action accept?
Each answer below pairs one callable action with its real inputs. Parameter meanings and allowed values are action-specific; a familiar name does not carry the same meaning across every platform.
Official sources are linked only to clarify the platform term beside them. They do not imply platform authorization or endorsement, and they do not add official-site features to the EveryInfra API contract.
What do the Upwork search parameters mean?
Search public results on Upwork. Accepts these parameters: job_type, exclude_keywords, keyword, sort, since, and until. Returns these fields: payment_verified, posted_at, persons_to_hire, and hourly_rate_max.
keywordRequired- Searches for outsourcing jobs in search and talent in freelancers. The same skill term maps to client demand and freelancer profiles across the two actions.
exclude_keywordsOptional- Job keywords to exclude in search, rather than a talent blacklist or minimum skill requirement.
job_typeOptional- Contract billing type for search: hourly or fixed_price, rather than full-time or part-time.Allowed values:
fixed_pricehourlyUpwork: Hourly versus fixed-price contractsUpwork distinguishes hourly billing contracts from fixed-price contracts based on overall project scope or milestones. The job_type parameter in this action categorizes jobs; it does not provide official platform features such as time logging, escrow payments, or milestone management.Checked sinceOptional- Job posting date start point for search, rather than the employer registration date. Compatibility paths may not apply identical filtering.
sortOptional- Job sorting order for search: newest, oldest, or relevance. Certain execution paths do not support oldest, preventing cross-path consistency guarantees.Allowed values:
newestoldestrelevance untilOptional- Job posting date end point for search, used in conjunction with since, rather than the contract end date.
What do the Upwork freelancers parameters mean?
Search public freelancer profiles on Upwork. Accepts these parameters: country, keyword, and top_rated. Returns these fields: location, is_top_rated, image_url, and timezone.
keywordRequired- Searches for outsourcing jobs in search and talent in freelancers. The same skill term maps to client demand and freelancer profiles across the two actions.
countryOptional- Current public values represent continents (africa, americas, asia, europe, oceania), meaning country codes such as US cannot be passed. The implementation writes both country and region fields simultaneously, but strict geographic filtering encounters routing conflicts and cannot yet serve as a reliable country filter.Allowed values:
africaamericasasiaeuropeoceania top_ratedOptional- Boolean value (
trueorfalse) that defaults to no filter and controls whether thefreelancersaction returns only Top Rated talent. Do not pass the string"false", because non-empty strings evaluate to true.Upwork: Job Success Score (JSS) versus talent badgesUpwork defines JSS as a performance metric combining client satisfaction, contract outcomes, and long-term relationships, using it as one condition for certain talent badges. JSS is distinct from star ratings, and the Top Rated designation or `top_rated` parameter does not guarantee project quality.Checked
How to use the Upwork API
- 01Read the public catalog and choose a platform action.
- 02Send the platform, action, and required parameters to POST /api/v1/social.
- 03Handle a synchronous result or poll the returned job ID when the selected action is asynchronous.
- 04Store the structured response fields needed by your application.
curl -X POST https://api.everyinfra.com/api/v1/social \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"platform":"upwork","action":"search","params":{"keyword":"<keyword>"}}'
Upwork API questions
What can I retrieve with the Upwork API?
Set platform to upwork. The current catalog lists search and freelancers. These action names identify different Upwork objects or views; they are not interchangeable search modes.
Which input starts a Upwork `search` request?
Searches for outsourcing jobs in search and talent in freelancers. The same skill term maps to client demand and freelancer profiles across the two actions. Send it as keyword inside params.
Which fields can Upwork `search` return?
Its declared schema includes title, text, budget, and budget_currency. A declared field can still be absent from an individual source record, and every other action has its own field list.
Does every Upwork action return immediately?
No assumption is needed: this page labels each action's delivery mode. The current catalog contains sync delivery; poll a returned job ID only for an action labeled asynchronous.