Insight
API quickstart: search salaries in 30 seconds
Get an API key, run a search, and parse the response. The free tier covers 100 requests a month.
Get a key
Sign in at /dashboard/login (magic link or Google), then create an API key from the Keys page. Keys are shown once; store them somewhere safe.
Make a request
The search endpoint takes role and state as required parameters, with optional years_min and years_max. Authenticate with a bearer token.
curl -H "Authorization: Bearer sf_live_..." \
"https://api.salaryfreedom.com/v1/search-salaries?role=software_engineer&state=CA&years_min=3&years_max=5"
Read the response
A successful query returns the count, mean, percentiles (p10/p25/p50/p75/p90), and a histogram. If your query matches fewer than 5 records, you get { insufficient_data: true, k: 5 } — that is the privacy floor, not an error.
{
"insufficient_data": false,
"count": 79,
"mean": 145000,
"percentiles": { "p10": 95000, "p25": 118000, "p50": 142000, "p75": 171000, "p90": 198000 },
"histogram": [
{ "low": 80000, "high": 100000, "count": 6 },
{ "low": 100000, "high": 120000, "count": 14 }
]
}
Quotas + headers
Every response includes X-RateLimit-Limit and X-RateLimit-Remaining headers. When you exhaust the monthly quota, the endpoint returns 429 with the limit and current usage. Upgrade to Pro from the billing page for 10,000 requests / month.