ב"ה

The Partner API

Read-only, key-authenticated access to data that is already public on ChabadUp — listings, profiles, skills, aggregate stats. It exists so a partner site can show the marketplace to its own audience without scraping or manual copying.

This page is the technical reference. For what a partnership is and how to start one, see partnerships.

Before You Build

Ground rules

The API is deliberately powerless. Before you decide whether to build against it, know what a key does and does not get you:

  • Read-only, GET only.

    A key grants access to the public API path and nothing else — no sessions, no dashboards, no admin, no writes.

  • No PII, ever.

    No email addresses, no phone numbers, no internal ids. If it is not already public on the site, it is not in the API.

  • Scoped.

    A key is granted only the datasets it needs. A key for showing job listings cannot read the freelancer directory.

  • Accountable.

    Every key has its own rate limit, can expire, can be revoked, and every call is logged.

Getting Access

Authentication

The base URL is https://www.chabadup.com/api/public/v1. Every authenticated request carries the key as a bearer token:

Authorization: Bearer cup_live_...

How keys work

  • Keys are issued by hand — there is no self-serve signup. That is deliberate: we want to know who is consuming community data and why. Request one here and mention which datasets you need.
  • The raw key is shown exactly once, at creation. Store it somewhere safe — we keep only a SHA-256 hash and cannot show it again.
  • Keys can carry an expiry date and can be revoked at any time. If yours stops working, ask us before assuming a bug.
No Key Needed

Try it now

The discovery root GET /api/public/v1 is unauthenticated and returns endpoint metadata only — you can curl it right now, before you have a key, to check connectivity and see the endpoint list.

# No key needed - the discovery root is open
curl https://www.chabadup.com/api/public/v1

# With a key - first page of public services
curl -H "Authorization: Bearer cup_live_YOUR_KEY" \
  "https://www.chabadup.com/api/public/v1/services?page=1&limit=20"
API Reference

Endpoints and scopes

All paths are relative to the base URL. The scope column is what a key must be granted to call the endpoint; reference covers both /skills and /categories.

EndpointScopeReturns
/freelancersfreelancersPublic freelancer profiles
/servicesservicesActive service listings
/jobsjobsOpen job postings
/projectsprojectsOpen project postings
/organizationsorganizationsOrganization profiles
/skillsreferenceThe platform skill list
/categoriesreferenceService categories
/statsstatsAggregate platform counts

The first five endpoints are lists and paginate with ?page= (1 or higher) and ?limit= (1–100, default 20). /skills, /categories and /stats return a single complete object, so they take no pagination parameters and do not use the envelope below.

Response Format

Responses

Successful list responses use one envelope:

{
  "data": [ ... ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "totalCount": ...,
    "totalPages": ...,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}

Errors use another:

{ "error": { "code": "scope_forbidden", "message": "..." } }
StatusCodeMeaning
401invalid_keyMissing, malformed, expired, or revoked key
403scope_forbiddenThe key is valid but not granted this dataset
429rate_limitedThe key's rate limit was exceeded — back off and retry
Partner API

Request a key

Tell us who you are, what you are building, and which datasets you need. If it is a fit, we issue a key scoped to exactly those.