Public REST/JSON reference
Rate Benchmark API
Where do your hourly or project rates land against the market right now? This API ingests hundreds of thousands of public job postings and freelance contracts per week, normalizes the rates, and gives you four percentiles (P25/P50/P75/P90) per skill+region+experience-level combination — plus your personal market position and a recommended rate based on your saved profile. Free tier covers 1 comparison/month against your saved profile. Part of the Logic Igniter Professional Services bundle.
Access boundary
These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.
Base URL
https://api.logicigniter.comAuth
Authorization: Bearer YOUR_API_KEYVersion
OpenAPI 3.0.3 · 1.0.0Operations rendered
13
Response models rendered
18
/api/v1/ratebenchmark/customersList customers
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/customers" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of customers
401ErrorMissing or invalid API key.
/api/v1/ratebenchmark/customersProvision a customer
Idempotent customer provision. Free tier limits the workspace to 1 personalized comparison per month.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: CreateCustomerRequest
Sample JSON payload for evaluation.
{
"email": "[email protected]",
"name": "Example Inc."
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/ratebenchmark/customers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","name":"Example Inc."}'/api/v1/ratebenchmark/customers/{id}Get a customer by id
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/customers/:id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/ratebenchmark/customers/{id}Update a customer
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request body (required)
Schema: UpdateCustomerRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/ratebenchmark/customers/:id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'/api/v1/ratebenchmark/profileGet the workspace profile
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/profile" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/ratebenchmark/profileSet the workspace profile
Replace the workspace's skill/region/experience profile. The current rate (in cents) is used by `GET /position` and `GET /recommendation` to compute your percentile and personalized recommendation.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: SetProfileRequest
Sample JSON payload for evaluation.
{
"skills": [
"golang",
"postgres",
"kubernetes"
],
"geo_region": "US-NYC",
"experience_years": 8,
"current_rate_cents": 18500
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/ratebenchmark/profile" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"skills":["golang","postgres","kubernetes"],"geo_region":"US-NYC","experience_years":8,"current_rate_cents":18500}'/api/v1/ratebenchmark/benchmarkRate percentiles for one skill+region+experience
Returns four percentiles (P25/P50/P75/P90) of hourly rates in cents and the sample size that backed the calculation.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
skillrequired | query | string | |
geo_regionrequired | query | string | |
experience_level | query | ExperienceLevel |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/benchmark" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/ratebenchmark/benchmarksList benchmarks for a skill
Return all per-region benchmarks for a single skill, paginated. Useful for building a heatmap or coverage UI.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
skillrequired | query | string | |
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/benchmarks" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of benchmarks
401ErrorMissing or invalid API key.
/api/v1/ratebenchmark/positionWhere you sit in the market
Compares your saved profile's `current_rate_cents` against the matching benchmark and returns your percentile + the market median.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/position" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Market position
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. The free tier covers 1 personalized comparison per month; paid plans unlock unlimited position+recommendation calls and historical trend windows.
404ErrorProfile not set, or no benchmark matches profile
/api/v1/ratebenchmark/recommendationRecommended rate for your profile
Returns a recommended hourly rate (cents), the percentile that maps to, and a short reasoning string explaining why (e.g. "P75 is the right anchor for senior engineers in this region").
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/recommendation" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Rate recommendation
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. The free tier covers 1 personalized comparison per month; paid plans unlock unlimited position+recommendation calls and historical trend windows.
404ErrorProfile not set, or no benchmark matches profile
/api/v1/ratebenchmark/trendsRate trend over time
Time-series of average rate (in cents) per period for a skill in a region. Periods are ISO-week or month strings; default is the most recent 12 periods.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
skillrequired | query | string | |
geo_regionrequired | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/trends" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/ratebenchmark/demand-signalsDemand signals for a skill
Per-period posting count and percent change. Useful for spotting an inflection point in skill demand before adjusting your rate.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
skillrequired | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/demand-signals" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/ratebenchmark/top-skillsLeaderboard of in-demand skills
Top N skills ranked by a combination of median rate and demand growth.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
limit | query | integer |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/ratebenchmark/top-skills" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Data models
Error
| Field | Type | Notes |
|---|---|---|
errorrequired | string |
ExperienceLevel
SetProfileRequest
| Field | Type | Notes |
|---|---|---|
skillsrequired | array<string> | Example: ["golang","postgres"] |
geo_regionrequired | string | Example: "US-NYC" |
experience_years | integer | |
current_rate_cents | integer (int64) | Example: 18500 |
Profile
| Field | Type | Notes |
|---|---|---|
id | string | |
skills | array<string> | |
geo_region | string | |
experience_years | integer | |
current_rate_cents | integer (int64) |
RateBenchmark
| Field | Type | Notes |
|---|---|---|
id | string | |
skill | string | |
geo_region | string | |
p25_cents | integer (int64) | |
p50_cents | integer (int64) | |
p75_cents | integer (int64) | |
p90_cents | integer (int64) | |
sample_size | integer |
BenchmarksResponse
| Field | Type | Notes |
|---|---|---|
items | array<RateBenchmark> | |
next_page_token | string | |
total_count | integer |
MarketPosition
| Field | Type | Notes |
|---|---|---|
id | string | |
percentile | integer | |
current_rate_cents | integer (int64) | |
market_median_cents | integer (int64) |
RateRecommendation
| Field | Type | Notes |
|---|---|---|
id | string | |
recommended_rate_cents | integer (int64) | |
market_percentile | integer | |
reasoning | string |
TrendPoint
| Field | Type | Notes |
|---|---|---|
period | string | |
avg_rate_cents | integer (int64) | |
posting_count | integer |
RateTrend
| Field | Type | Notes |
|---|---|---|
id | string | |
points | array<TrendPoint> |
DemandPoint
| Field | Type | Notes |
|---|---|---|
period | string | |
posting_count | integer | |
change_pct | number (double) |
DemandSignals
| Field | Type | Notes |
|---|---|---|
id | string | |
points | array<DemandPoint> |
SkillRank
| Field | Type | Notes |
|---|---|---|
skill | string | |
median_rate_cents | integer (int64) | |
demand_growth_pct | number (double) | |
rank | integer |
TopSkills
| Field | Type | Notes |
|---|---|---|
items | array<SkillRank> |
CreateCustomerRequest
| Field | Type | Notes |
|---|---|---|
emailrequired | string (email) | |
namerequired | string |
UpdateCustomerRequest
| Field | Type | Notes |
|---|---|---|
email | string (email) | |
name | string |
Customer
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
email | string (email) | |
name | string | |
created_at | string (date-time) |
CustomersResponse
| Field | Type | Notes |
|---|---|---|
items | array<Customer> | |
next_page_token | string | |
total_count | integer |

