{"openapi":"3.1.0","info":{"title":"Machining Speed API","version":"1.0.0","description":"Machining cutting-speed and feed maths as an API, computed locally and deterministically. The speed endpoint converts between cutting (surface) speed and spindle rpm for a given tool or workpiece diameter, in both directions and in either unit system: metric uses N = Vc·1000/(π·D) with Vc in metres per minute and D in millimetres, and imperial uses RPM = SFM·12/(π·D) with the surface speed in feet per minute and the diameter in inches. The feed endpoint computes the table feed rate from the feed per tooth (chip load), the number of teeth or flutes and the spindle rpm for milling (feed = fz·z·N), or from the feed per revolution for turning and drilling, and reports it in millimetres or inches per minute. The materials endpoint lists typical carbide cutting speeds by material, from aluminium and brass through mild and stainless steel to titanium, with a note to use about a third for HSS tooling. Everything is computed locally and deterministically, so it is instant and private. An indicative aid — always confirm with the tool maker's data and adjust for depth of cut, coolant and rigidity. Ideal for CNC and machine-shop tools, CAM and feeds-and-speeds apps, maker and hobby machining, and manufacturing calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is machining feeds and speeds; for screw-thread pitch and tap drill use a thread API and for bolt-circle layouts use a bolt-circle API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/machining-api","description":"oanor gateway"}],"tags":[{"name":"Machining"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/feed":{"get":{"operationId":"get_v1_feed","tags":["Machining"],"summary":"Feed rate from chip load","description":"","parameters":[{"name":"rpm","in":"query","required":true,"description":"Spindle rpm","schema":{"type":"string"},"example":"636.62"},{"name":"feed_per_tooth","in":"query","required":false,"description":"Chip load fz (with teeth)","schema":{"type":"string"},"example":"0.1"},{"name":"teeth","in":"query","required":false,"description":"Number of teeth/flutes","schema":{"type":"string"},"example":"4"},{"name":"feed_per_rev","in":"query","required":false,"description":"Or feed per rev (turning/drilling)","schema":{"type":"string"}},{"name":"unit_system","in":"query","required":false,"description":"metric|imperial","schema":{"type":"string"},"example":"metric"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"rpm":636.62,"note":"Feed rate = feed per tooth × teeth × rpm (milling), or feed per rev × rpm (turning/drilling).","basis":"feed_per_tooth","teeth":4,"feed_rate":254.648,"unit_system":"metric","feed_per_rev":0.4,"feed_per_tooth":0.1,"feed_rate_unit":"mm/min"},"meta":{"timestamp":"2026-06-04T01:59:05.732Z","request_id":"6921029d-9461-4039-b7bc-9f094002054c"},"status":"ok","message":"Feed rate from chip load","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/materials":{"get":{"operationId":"get_v1_materials","tags":["Machining"],"summary":"Cutting speed reference","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Indicative carbide cutting speeds (Vc, m/min). For HSS tooling use roughly one third. Always confirm with the tool maker's data and adjust for depth of cut, coolant and rigidity.","cutting_speed_m_min_carbide":{"wood":400,"brass":200,"bronze":120,"copper":150,"acrylic":200,"plastic":250,"aluminum":300,"titanium":30,"aluminium":300,"cast_iron":80,"mild_steel":100,"tool_steel":50,"alloy_steel":70,"carbon_steel":90,"hardened_steel":40,"stainless_steel":60}},"meta":{"timestamp":"2026-06-04T01:59:05.824Z","request_id":"1725504d-a049-477a-b5be-83a38b1b3e7c"},"status":"ok","message":"Cutting speed reference","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/speed":{"get":{"operationId":"get_v1_speed","tags":["Machining"],"summary":"Cutting speed ↔ spindle rpm","description":"","parameters":[{"name":"diameter","in":"query","required":true,"description":"Tool/work diameter (mm or in)","schema":{"type":"string"},"example":"50"},{"name":"cutting_speed","in":"query","required":false,"description":"Vc m/min (or SFM if imperial)","schema":{"type":"string"},"example":"100"},{"name":"rpm","in":"query","required":false,"description":"Or spindle rpm","schema":{"type":"string"}},{"name":"unit_system","in":"query","required":false,"description":"metric|imperial (default metric)","schema":{"type":"string"},"example":"metric"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"formula":"N = Vc·1000 / (π·D)  [Vc m/min, D mm].","diameter_mm":50,"spindle_rpm":636.62,"unit_system":"metric","cutting_speed_m_min":100},"meta":{"timestamp":"2026-06-04T01:59:05.919Z","request_id":"fa53aa91-bb8f-4891-af45-8676d4705a6b"},"status":"ok","message":"Cutting speed <-> spindle rpm","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"api":"machining","note":"Machining cutting-speed & feed maths — computed locally and deterministically, no key, no third-party service.","endpoints":["/v1/speed","/v1/feed","/v1/materials","/v1/meta"],"materials":["aluminium","aluminum","brass","bronze","copper","mild_steel","carbon_steel","alloy_steel","stainless_steel","cast_iron","tool_steel","hardened_steel","titanium","plastic","acrylic","wood"],"unit_systems":["metric","imperial"]},"meta":{"timestamp":"2026-06-04T01:59:06.006Z","request_id":"f7f8b87b-06b9-4d94-ac54-e969ef520c9e"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":900,"monthly_call_quota":20000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":120000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":631000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/machining-api"}