{"openapi":"3.1.0","info":{"title":"FreelanceRate India Rates API","version":"1.0.0","description":"Public, read-only hourly rate benchmarks for freelance professions and Indian cities. Amounts are INR per hour unless stated otherwise. No authentication is required; responses are cacheable and CORS-enabled. Human-readable documentation with example requests and responses lives at /api-docs. Data is licensed CC BY 4.0 — attribute FreelanceRate India.","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"contact":{"name":"FreelanceRate India","url":"https://freelancerateindia.com/about"}},"externalDocs":{"description":"Human-readable API documentation with example calls and responses","url":"https://freelancerateindia.com/api-docs"},"servers":[{"url":"https://freelancerateindia.com"}],"tags":[{"name":"Rates","description":"Hourly rate benchmarks for freelance professions and Indian cities."}],"paths":{"/api/rates.json":{"get":{"tags":["Rates"],"operationId":"getRateBenchmarks","summary":"List profession and city rate benchmarks","description":"Returns the full benchmark dataset by default. Pass profession and/or city to filter to a single known slug. Both parameters are optional and combinable. An unknown slug returns 404; a malformed slug returns 400.","parameters":[{"name":"profession","in":"query","required":false,"description":"Exact profession slug, e.g. web-developer. Omit to return all professions. Pattern: lowercase letters, digits and hyphens, max 80 characters.","schema":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":80},"example":"web-developer"},{"name":"city","in":"query","required":false,"description":"Exact canonical city slug, e.g. bangalore. Omit to return all cities. Pattern: lowercase letters, digits and hyphens, max 80 characters.","schema":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":80},"example":"bangalore"}],"responses":{"200":{"description":"Current rate benchmark dataset","headers":{"cache-control":{"description":"Public caching: 1 hour in browsers, 1 day on CDNs.","schema":{"type":"string","example":"public, max-age=3600, s-maxage=86400"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatesResponse"},"examples":{"fullDataset":{"summary":"Full dataset","description":"GET /api/rates.json — every profession and city.","value":{"schemaVersion":"1.0","datasetVersion":"2026-09-24","dateModified":"2026-08-27","currency":"INR","unit":"hour","market":"India","methodology":"https://freelancerateindia.com/about","license":"https://creativecommons.org/licenses/by/4.0/","disclaimer":"Indicative market benchmarks, not a statistically representative survey or financial advice.","professions":[{"$ref":"#/components/examples/webDeveloperProfession/value"}],"cities":[{"$ref":"#/components/examples/bangaloreCity/value"}]}}}}}},"400":{"description":"Invalid query parameter — slug breaks the [a-z0-9-]+ pattern","content":{"application/json":{"example":{"error":"Invalid query parameters","issues":{"profession":["Invalid"]}}}}},"404":{"description":"Unknown profession or city slug","content":{"application/json":{"examples":{"unknownProfession":{"summary":"Unknown profession","value":{"error":"Unknown profession slug"}},"unknownCity":{"summary":"Unknown city","value":{"error":"Unknown city slug"}}}}}}}}}},"components":{"examples":{"webDeveloperProfession":{"summary":"Web Developer benchmark","value":{"slug":"web-developer","name":"Web Developer","category":"Development","domestic":{"min":450,"max":1400},"international":{"min":1200,"max":3500},"billableHoursPerMonth":100,"skills":["HTML","CSS","JavaScript","TypeScript","React"],"canonicalUrl":"https://freelancerateindia.com/calculator/freelance-rate/web-developer"}},"bangaloreCity":{"summary":"Bengaluru city facts","value":{"slug":"bangalore","name":"Bengaluru","state":"Karnataka","rateMultiplier":1.2,"rateIndexPercent":20,"indicativeMonthlyCostsInr":{"living":45000,"rent1Bhk":24000,"coworking":9000},"strengths":["SaaS and product startups","Global capability centres"],"canonicalUrl":"https://freelancerateindia.com/city/bangalore"}}},"schemas":{"Profession":{"type":"object","required":["slug","name","category","domestic","international","billableHoursPerMonth","canonicalUrl"],"properties":{"slug":{"type":"string","description":"Stable identifier; reuse as the profession filter value.","examples":["web-developer"]},"name":{"type":"string","description":"Display name.","examples":["Web Developer"]},"category":{"type":"string","description":"Skill category, e.g. Development or Design.","examples":["Development"]},"domestic":{"type":"object","required":["min","max"],"properties":{"min":{"type":"integer","minimum":0,"example":450},"max":{"type":"integer","minimum":0,"example":1400}},"description":"Indicative INR/hour range for mid-level freelancers invoicing Indian clients."},"international":{"type":"object","required":["min","max"],"properties":{"min":{"type":"integer","minimum":0,"example":450},"max":{"type":"integer","minimum":0,"example":1400}},"description":"Indicative INR/hour range for the same work invoicing international clients."},"billableHoursPerMonth":{"type":"integer","minimum":1,"description":"Realistic billable hours per month for this craft.","example":100},"skills":{"type":"array","items":{"type":"string"},"description":"Core skills for the profession."},"canonicalUrl":{"type":"string","format":"uri","description":"Canonical calculator page for this profession."}}},"City":{"type":"object","required":["slug","name","state","rateMultiplier","rateIndexPercent","indicativeMonthlyCostsInr","canonicalUrl"],"properties":{"slug":{"type":"string","description":"Stable identifier; reuse as the city filter value.","examples":["bangalore"]},"name":{"type":"string","description":"Display name.","examples":["Bengaluru"]},"state":{"type":"string","description":"Indian state or union territory.","examples":["Karnataka"]},"rateMultiplier":{"type":"number","minimum":0,"description":"Multiplier on the national baseline cost of doing business.","example":1.2},"rateIndexPercent":{"type":"integer","description":"Percentage difference versus the national baseline; 20 means +20%.","example":20},"indicativeMonthlyCostsInr":{"type":"object","description":"Indicative monthly costs in INR.","properties":{"living":{"type":"integer","example":45000},"rent1Bhk":{"type":"integer","example":24000},"coworking":{"type":"integer","example":9000}}},"strengths":{"type":"array","items":{"type":"string"},"description":"Sectors with the strongest local freelance demand."},"canonicalUrl":{"type":"string","format":"uri","description":"Canonical city page."}}},"RatesResponse":{"type":"object","required":["schemaVersion","datasetVersion","dateModified","currency","unit","market","professions","cities"],"properties":{"schemaVersion":{"type":"string","const":"1.0","description":"Response shape version; bump only on breaking changes."},"datasetVersion":{"type":"string","format":"date","description":"Date the benchmark data was last reviewed.","example":"2026-09-24"},"dateModified":{"type":"string","format":"date","description":"Date the underlying editorial dataset was last modified."},"currency":{"type":"string","const":"INR","description":"All monetary fields are Indian rupees."},"unit":{"type":"string","const":"hour","description":"Rates are quoted per hour."},"market":{"type":"string","const":"India","description":"Geographic market of the benchmarks."},"methodology":{"type":"string","format":"uri","description":"Published methodology and sources."},"license":{"type":"string","format":"uri","description":"Data license, CC BY 4.0."},"disclaimer":{"type":"string","description":"Indicative benchmarks, not a survey or financial advice."},"professions":{"type":"array","items":{"$ref":"#/components/schemas/Profession"},"description":"Profession benchmarks, filtered by the profession parameter."},"cities":{"type":"array","items":{"$ref":"#/components/schemas/City"},"description":"City benchmarks, filtered by the city parameter."}}}}}}