Kwork project exchange API

Search live buyer requests on the Kwork exchange, with budgets and offer counts

Kwork project exchange API returns live Kwork project exchange data as clean JSON for kwork project exchange The primary endpoint, search, returns projects records including title, description, budget, budget ceiling and offers received.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Kwork project exchange endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
K
/kwork/v1

3 active endpoints. Every call is 1 credit.

  • POST/kwork/v1/search
  • POST/kwork/v1/categories
  • POST/kwork/v1/stats

What Kwork project exchange endpoints does ReefAPI ship?

3 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

3 endpoints

search

1 cr

Search live BUYER project requests on the Kwork exchange.

required
—
optional
query, category, budget_min, budget_max, max_offers, limit, offset, max_pages

categories

1 cr

The Kwork exchange category tree with the number of OPEN buyer projects in each one right now.

required
—
optional
—

stats

1 cr

Kwork's own 30-day exchange statistics as the marketplace publishes them.

required
—
optional
—

Every parameter, every allowed value →

Kwork project exchange API

2 of 3 endpoints, ready to run

View docs ↗

Open buyer requests with the full brief, the budget cap, the deadline and the number of offers already received on every row.

1 credit0 required · 3 optional
POST/kwork/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Kwork project exchange API works

Kwork project exchange is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 295 engines.

02
Call
POST /kwork/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 credit per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Find work that is still winnable, not just work that exists

On a bid board the wasted effort goes into requests that already have a queue of offers behind them. Kwork publishes the offer count on the request itself, so the filter that matters can be applied before you read anything.

01categories
POST/kwork/v1/categories
{}

The category tree with a live count of open requests in each one. Use it to pick where to look, and to see which kinds of work buyers are actually asking for today.

02search
POST/kwork/v1/search
{"category": "script-programming", "max_offers": 3, "max_pages": 3}

Open requests in that category with at most three offers so far. The response says how many pages it read and whether the page budget cut it short, so the cost is known before you call and visible after it.

A shortlist of briefs with a budget, a deadline and a competition count on each — built from two calls, with no per-project lookup, because the source publishes no project page to look up.

request
curl -X POST https://api.reefapi.com/kwork/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"limit":10}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "kwork",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

One call is the whole record, the cost is capped by pages, and the category has to be checked

Measured on 2026-09-28 against the live exchange. Two of these lines are limits rather than features, and they are here because finding them later costs more than reading them now.

⭐ There is no detail call, and that is the source's doing

The exchange publishes no per-project page at all. The brief, the budget, the deadline, the category, the offer count and the buyer's history are already on the search row, and every content field was populated on every row in the sample we measured. So the second call that most bid-board APIs charge for does not exist here, and your cost is exactly the pages you read.

🔴 Budget filtering is not available at the source

Against us. Kwork applies only the keyword and the category server-side. Budget, offer-count and hiring filters do not take effect over HTTP in any parameter shape we could find, tried both as a query string and as a form post. We apply those on our side instead, which is why the page budget below exists rather than being optional.

⭐ The cost is capped by pages, and the response says so

max_pages is a hard ceiling on how many exchange pages one call may read, whatever the filter. The response carries pages_read, page_budget and budget_exhausted, so a result cut short by the budget is distinguishable from one that genuinely ran out. A narrow filter costs no more than a wide one.

🔴 An unknown category returns everything, so we reject it

Also against us, and the reason the category parameter is validated rather than passed through. Ask the exchange for a category that does not exist and it does not error, it quietly returns the entire board with the same total as no filter at all. Passed through, that would answer a narrow question with everything and report success. The engine refuses the value instead, and the refusal costs no upstream call.

Russian-language, and roubles

The exchange is a Russia-only product. Every request is written in Russian and every budget is in roubles, and the buyer-project surface does not exist on the .com domain at all — we checked its sitemaps as well as the site. If you need English-language freelance briefs this is the wrong source, and we would rather say so here than after you integrate.

No account, and no buyer identity in the response

No login is involved and nothing is tied to an account of yours. The buyer's display name, avatar and profile link are dropped: what comes back is an opaque id plus business signal — how many projects they have posted, their hire rate, and the purchase-level badges the marketplace awards them.

The competition count is the field that earns its place

offers_received is on every row, and it is what separates an untouched brief from one with a queue behind it. It is filterable through max_offers. Alongside it the row carries views, the buyer's budget cap, a ceiling the buyer could still go up to where one is published, the deadline and the time left.

Search reads the body, not just the title

The keyword is matched by Kwork itself across the request body as well as the title, which we confirmed by counting where the matches fell on a sample term: most were in the title, and the rest matched only in the description. So a term that describes the work rather than naming it still finds the brief.

What people build with Kwork project exchange

The jobs this data is most often used for.

3

endpoints

1

credit per call

01

Recruiting teams use Kwork project exchange to search live BUYER project requests on the Kwork exchange.

02

Labor-market analysts use Kwork project exchange to get the Kwork exchange category tree with the number of OPEN buyer projects in each one right now.

03

Job boards use Kwork project exchange to get kwork's own 30-day exchange statistics as the marketplace publishes them.

What Kwork project exchange data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 295 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/kwork/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"limit":10}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/kwork/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "limit": 10
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Kwork project exchange.

Get a free key →
What is the Kwork project exchange API?▾

Kwork project exchange API is a ReefAPI endpoint group for kwork project exchange It returns live JSON through POST requests under /kwork/v1.

Is the Kwork project exchange API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Kwork project exchange calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Kwork project exchange login or account?▾

No login to Kwork project exchange is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Kwork project exchange data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Kwork project exchange API use?▾

Kwork project exchange actions currently cost 1 credit per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Kwork project exchange from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call kwork actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Kwork project exchange API a Kwork project exchange scraper?▾

It is the managed alternative to a DIY Kwork project exchange scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same kwork project exchange back as clean JSON.

Why does my Kwork project exchange scraper keep getting blocked?▾

Most Kwork project exchange scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.

17 Jobs & Hiring APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Kwork project exchange, you are one call away from the rest of the category — no second contract, no second integration.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 294 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-28.