{"openapi":"3.1.0","info":{"title":"Belt Drive API","version":"1.0.0","description":"Belt-drive and pulley maths as an API, computed locally and deterministically. The belt endpoint computes the length of an open V-belt or flat belt from the two pulley diameters and the centre distance with L = 2C + (π/2)(D1+D2) + (D1−D2)²/(4C), and returns the belt length plus the wrap (contact) angle on each pulley; pass a driver rpm and it also gives the belt surface speed. The ratio endpoint computes the speed ratio of a pulley pair (driven ÷ driver diameter, since N1·D1 = N2·D2): give a driver or driven rpm and it returns the other, the torque ratio and the belt speed. The centers endpoint reverses the length equation to find the centre distance for a target belt length, solving the equation numerically. Diameters and distances accept millimetres, centimetres, metres, inches or feet, and lengths are reported in several units. Everything is computed locally and deterministically, so it is instant and private. Ideal for machine and drivetrain design tools, maintenance and MRO apps, maker and CNC projects, and mechanical-engineering calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is belt-and-pulley power transmission; for bicycle gear ratios and development use a bike-gear API and for bolt tightening torque use a torque API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/beltdrive-api","description":"oanor gateway"}],"tags":[{"name":"Belt"},{"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/belt":{"get":{"operationId":"get_v1_belt","tags":["Belt"],"summary":"Belt length from diameters & centres","description":"","parameters":[{"name":"diameter_1","in":"query","required":true,"description":"First pulley diameter","schema":{"type":"string"},"example":"200"},{"name":"diameter_2","in":"query","required":true,"description":"Second pulley diameter","schema":{"type":"string"},"example":"100"},{"name":"center_distance","in":"query","required":true,"description":"Centre distance (C)","schema":{"type":"string"},"example":"500"},{"name":"unit","in":"query","required":false,"description":"mm|cm|m|in|ft (default mm)","schema":{"type":"string"},"example":"mm"},{"name":"rpm","in":"query","required":false,"description":"Driver rpm (for belt speed)","schema":{"type":"string"},"example":"1450"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"unit":"mm","formula":"L = 2C + (π/2)(D1+D2) + (D1−D2)²/(4C) (open belt).","belt_speed":{"m_s":15.1844,"ft_min":2989,"driver_rpm":1450,"on_diameter":"diameter_1"},"belt_length":{"m":1.47624,"in":58.12,"mm":1476.24,"unit":"mm","value":1476.239},"diameter_large":{"m":0.2,"in":7.874,"mm":200,"unit":"mm","value":200},"diameter_small":{"m":0.1,"in":3.937,"mm":100,"unit":"mm","value":100},"center_distance":{"m":0.5,"in":19.685,"mm":500,"unit":"mm","value":500},"wrap_angle_large_pulley_deg":191.48,"wrap_angle_small_pulley_deg":168.52},"meta":{"timestamp":"2026-06-04T01:59:07.616Z","request_id":"dd6ee1a8-a564-43a0-92b4-fc21cfd72097"},"status":"ok","message":"Belt length from diameters & center distance","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/centers":{"get":{"operationId":"get_v1_centers","tags":["Belt"],"summary":"Centre distance from belt length","description":"","parameters":[{"name":"diameter_1","in":"query","required":true,"description":"First pulley diameter","schema":{"type":"string"},"example":"200"},{"name":"diameter_2","in":"query","required":true,"description":"Second pulley diameter","schema":{"type":"string"},"example":"100"},{"name":"belt_length","in":"query","required":true,"description":"Target belt length","schema":{"type":"string"},"example":"1476.24"},{"name":"unit","in":"query","required":false,"description":"mm|cm|m|in|ft","schema":{"type":"string"},"example":"mm"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Center distance solved by inverting the open-belt length equation (bisection).","unit":"mm","belt_length":{"m":1.47624,"in":58.12,"mm":1476.24,"unit":"mm","value":1476.24},"diameter_large":{"m":0.2,"in":7.874,"mm":200,"unit":"mm","value":200},"diameter_small":{"m":0.1,"in":3.937,"mm":100,"unit":"mm","value":100},"center_distance":{"m":0.5,"in":19.685,"mm":500,"unit":"mm","value":500.001}},"meta":{"timestamp":"2026-06-04T01:59:07.707Z","request_id":"291206aa-ea57-4a3b-a4cd-41faf2ce4c8c"},"status":"ok","message":"Center distance from belt length","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/ratio":{"get":{"operationId":"get_v1_ratio","tags":["Belt"],"summary":"Pulley speed ratio & belt speed","description":"","parameters":[{"name":"driver_diameter","in":"query","required":true,"description":"Driver pulley diameter","schema":{"type":"string"},"example":"100"},{"name":"driven_diameter","in":"query","required":true,"description":"Driven pulley diameter","schema":{"type":"string"},"example":"250"},{"name":"driver_rpm","in":"query","required":false,"description":"Driver rpm (to get driven)","schema":{"type":"string"},"example":"1450"},{"name":"driven_rpm","in":"query","required":false,"description":"Or driven rpm (to get driver)","schema":{"type":"string"}},{"name":"unit","in":"query","required":false,"description":"mm|cm|m|in|ft","schema":{"type":"string"},"example":"mm"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"N1·D1 = N2·D2. Speed ratio = driven÷driver diameter; the driven pulley turns slower by this factor and its torque rises by it.","unit":"mm","belt_speed":{"m_s":7.5922,"ft_min":1494.5},"driven_rpm":580,"driver_rpm":1450,"ratio_label":"2.5:1","speed_ratio":2.5,"torque_ratio":2.5,"driven_diameter":{"m":0.25,"in":9.843,"mm":250,"unit":"mm","value":250},"driver_diameter":{"m":0.1,"in":3.937,"mm":100,"unit":"mm","value":100}},"meta":{"timestamp":"2026-06-04T01:59:07.796Z","request_id":"c94b1549-c211-4802-80f7-7740b70558b2"},"status":"ok","message":"Pulley speed ratio & belt speed","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":"beltdrive","note":"Belt-drive (pulley) maths — computed locally and deterministically, no key, no third-party service.","endpoints":["/v1/belt","/v1/ratio","/v1/centers","/v1/meta"],"length_units":["mm","cm","m","in","inch","ft"]},"meta":{"timestamp":"2026-06-04T01:59:07.882Z","request_id":"5bdc49b0-bfba-480d-8d5a-93e4908606b6"},"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":13935,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1555,"monthly_call_quota":23650,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3585,"monthly_call_quota":286500,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7385,"monthly_call_quota":1475000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/beltdrive-api"}