Business · head-to-head
Freelancer vs Instatus
Freelancer's API mirrors the full marketplace — projects, bids, milestones, messages, and user profiles — behind a standard OAuth 2.0 app-registration flow: a live call to `/api/users/0.1/self/` returns 401 `NOT_AUTHENTICATED` rather than any keyless access, and the OPTIONS preflight explicitly whitelists a custom `Freelancer-OAuth-V1` header, reconfirming OAuth as the real mechanism. A GET against the public `/api/projects/0.1/projects/active/` endpoint succeeds with no key at all and echoes `access-control-allow-origin: *` on both the GET and its preflight, resolving the stored 'unknown' CORS value to fully open. Freelancer's own Python SDK and developer portal document no separate paid tier or metering for the API itself — registering an app is free, with the marketplace's usual project fees applying only to actual freelance transactions, not API calls.
Instatus's REST API (`api.instatus.com`) lets a status-page owner script incident and maintenance updates, component status changes, and subscriber management for their own hosted status page. Every request must carry an `Authorization: Bearer <API_KEY>` header and a page ID from the dashboard, confirmed live via a 401 "API key is not sent in request header" response on an unauthenticated GET to `/v1/pages`; the same endpoint echoes a matching `access-control-allow-origin` on both a GET and a separate OPTIONS preflight sent with an Origin header, confirming the API is browser-callable. Instatus itself runs a permanent free-forever plan alongside paid per-project tiers, with no separate gate on API access.
| Freelancer | Instatus | |
|---|---|---|
| Authentication | OAuth | API Key |
| Pricing | free | freemium |
| Formats | JSON | JSON |
| CORS | yes | yes |
| HTTPS | Yes | Yes |