Upwork 0.0.0-dev.1
See the version list below for details.
dotnet add package Upwork --version 0.0.0-dev.1
NuGet\Install-Package Upwork -Version 0.0.0-dev.1
<PackageReference Include="Upwork" Version="0.0.0-dev.1" />
<PackageVersion Include="Upwork" Version="0.0.0-dev.1" />
<PackageReference Include="Upwork" />
paket add Upwork --version 0.0.0-dev.1
#r "nuget: Upwork, 0.0.0-dev.1"
#:package Upwork@0.0.0-dev.1
#addin nuget:?package=Upwork&version=0.0.0-dev.1&prerelease
#tool nuget:?package=Upwork&version=0.0.0-dev.1&prerelease
Upwork
C# SDK for the Upwork GraphQL API. The first supported surface is marketplace job search for freelancer workflows.
Features
- Public marketplace job search
- Authenticated marketplace job search with cursor paging and sort attributes
- Marketplace job content lookup by job ID
- OAuth token exchange helpers for authorization-code, refresh-token, and enterprise client-credentials flows
- Raw GraphQL execution escape hatch for fields that are not yet wrapped
- Source-generated JSON serialization for trimming and NativeAOT compatibility
Usage
using Upwork;
using var client = new UpworkClient(accessToken);
var jobs = await client.SearchMarketplaceJobPostingsAsync(
new UpworkMarketplaceJobFilter
{
SearchExpression = "dotnet graphql",
VerifiedPaymentOnly = true,
Pagination = new UpworkCursorPagination(first: 10),
},
sortAttributes:
[
new UpworkMarketplaceJobPostingSearchSort(
UpworkMarketplaceJobPostingSearchSortFields.Recency),
]);
For public marketplace search, use SearchPublicMarketplaceJobPostingsAsync with UpworkPublicMarketplaceJobFilter.
Public Marketplace Job Search
Search public marketplace jobs with the Upwork GraphQL API.
using var client = new UpworkClient(accessToken);
// Search current public marketplace jobs.
var response = await client.SearchPublicMarketplaceJobPostingsAsync(
new UpworkPublicMarketplaceJobFilter
{
SearchExpression = "dotnet graphql",
JobType = UpworkJobTypes.Fixed,
PaymentVerified = true,
Pagination = new UpworkOffsetPagination(pageOffset: 0, pageSize: 10),
});
Authenticated Marketplace Job Search
Search marketplace jobs from an authenticated freelancer workflow.
using var client = new UpworkClient(accessToken);
// Search marketplace jobs with cursor pagination and recency sorting.
var response = await client.SearchMarketplaceJobPostingsAsync(
new UpworkMarketplaceJobFilter
{
SearchExpression = "dotnet graphql",
VerifiedPaymentOnly = true,
IncludeApplied = false,
Pagination = new UpworkCursorPagination(first: 10),
},
sortAttributes:
[
new UpworkMarketplaceJobPostingSearchSort(
UpworkMarketplaceJobPostingSearchSortFields.Recency),
]);
Marketplace Job Content
Fetch full marketplace job content after finding a job ID from search.
using var client = new UpworkClient(accessToken);
// Find a job, then fetch its content by ID.
var search = await client.SearchMarketplaceJobPostingsAsync(
new UpworkMarketplaceJobFilter
{
SearchExpression = "dotnet",
Pagination = new UpworkCursorPagination(first: 1),
});
var firstJob = search.Edges?.FirstOrDefault()?.Node;
var job = await client.GetMarketplaceJobPostingAsync(firstJob.Id!);
Support
Priority place for bugs: https://github.com/tryAGI/Upwork/issues
Priority place for ideas and general questions: https://github.com/tryAGI/Upwork/discussions
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 112 | 6/23/2026 |
| 0.0.0-dev.7 | 130 | 6/23/2026 |
| 0.0.0-dev.6 | 49 | 6/23/2026 |
| 0.0.0-dev.5 | 52 | 6/23/2026 |
| 0.0.0-dev.4 | 56 | 6/23/2026 |
| 0.0.0-dev.3 | 60 | 6/22/2026 |
| 0.0.0-dev.2 | 66 | 6/21/2026 |
| 0.0.0-dev.1 | 61 | 6/21/2026 |
| 0.0.0-dev | 101 | 6/21/2026 |