Angle from a measured bevel
API · /knifesharp-api
Knife Sharpening API
Knife-sharpening maths as an API, computed locally and deterministically — the bevel and angle numbers a sharpener, cook or knifemaker sets a stone to. It uses the symmetric V-edge model: the bevel endpoint takes the blade thickness and a per-side (or inclusive) angle and returns the bevel face width = (thickness ÷ 2) ÷ sin(per-side angle), with the inclusive angle as twice the per-side — so a 2 mm blade ground at 15° per side has a 3.86 mm bevel and a 30° edge, and at a 40° inclusive (20° per side) a 2.92 mm bevel. The angle endpoint runs it in reverse for the marker (Sharpie) method: colour the edge, take one stroke, measure the shiny bevel, and per-side angle = asin((thickness ÷ 2) ÷ bevel width) tells you the angle you are actually holding. The recommend endpoint gives sensible inclusive-angle ranges by use — about 12–17° for razors, 20–30° for Japanese kitchen knives, 30–40° for Western chef’s and EDC, 40–50° for outdoor and hard use, 45–65° for axes — and converts any chosen inclusive angle to per-side and back. Everything is computed locally and deterministically, so it is instant and private. Ideal for knife, kitchen, EDC, bushcraft, woodworking and sharpening app developers, sharpening-jig and edge-geometry tools, and maker software. Pure local computation — no key, no third-party service, instant. Symmetric V-edge model, mm and degrees. Live, nothing stored. 3 compute endpoints.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 81 ms
- Server probes · 24h
- Subscribers
- 3,532
- active
- Total calls
- 4
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 6,850 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 6,850 calls/month
- 2 req/sec
- Bevel + angle + recommended angles
- No credit card
Starter
€4.32 /month
- 55,200 calls / month
- 6 requests / second
- Hard cap (429 above quota, no overage)
- 55,200 calls/month
- 6 req/sec
- Marker-method angle, per-side ↔ inclusive
- Email support
Pro
€11.85 /month
- 227,000 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 227,000 calls/month
- 15 req/sec
- Sharpening-jig & edge-geometry pipelines
- Priority support
Mega
€36.90 /month
- 1,328,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 1,328,000 calls/month
- 40 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Baking Pan Scaler API
Baking-pan maths as an API, computed locally and deterministically — the area and scale-factor numbers a baker resizes a recipe between pans with. The trick everyone gets wrong is that a recipe scales by the pan’s AREA, not its diameter, so a 10-inch round holds far more batter than a 9-inch. The area endpoint gives the surface area of any pan — round and springform as π/4·d², square as s², rectangle as length × width, and bundt or tube pans as the ring (the outer circle minus the centre hole) — so a 9-inch round is 63.6 in², an 8-inch square 64 and a 9×13 is 117; add a depth and it returns the volume in cubic inches and cups. The convert endpoint gives the scale factor to move a recipe from one pan to another, factor = target area ÷ source area: a 9-inch round to a 9×13 is ×1.84, and two 8-inch rounds really do equal one 9×13. Pass an ingredient amount and it scales it for you, with a note to keep the batter depth similar and adjust the bake time. Everything is computed locally and deterministically, so it is instant and private. Ideal for baking, recipe, meal-prep and kitchen app developers, recipe-scaling and substitution tools, and culinary software. Pure local computation — no key, no third-party service, instant. Inches. Live, nothing stored. 2 compute endpoints. For ingredient unit conversion use a cooking API.
api.oanor.com/panscale-api
Grain Bin API
Grain-bin storage maths as an API, computed locally and deterministically — the bushel and weight numbers a farmer or elevator sizes storage by. The bushels endpoint measures a round bin: floor area × grain depth gives the cubic feet, and a cubic foot holds about 0.8036 bushels, so an 18-foot bin filled 20 feet level holds roughly 4,090 bushels — and grain heaped to a peak adds a cone of (1/3) × floor area × peak height, so a 4-foot peak adds about 270 more. The weight endpoint converts bushels to weight by the crop’s standard test weight — corn and sorghum at 56 pounds a bushel, wheat and soybeans 60, oats 32, barley 48 — so those 4,090 bushels of corn weigh 229,040 pounds, about 114.5 US tons or 104 tonnes; pass a measured test weight for light or heavy grain. Everything is computed locally and deterministically, so it is instant and private. Ideal for agriculture, grain-elevator, farm-management and ag-tech app developers, storage-capacity and inventory tools, and harvest software. Pure local computation — no key, no third-party service, instant. US units (feet, bushels, pounds). Live, nothing stored. 2 compute endpoints.
api.oanor.com/grainbin-api
ADA Ramp API
ADA wheelchair-ramp maths as an API, computed locally and deterministically — the run, landing and slope numbers a builder or accessibility planner sizes a ramp by. The rule the ADA fixes is 1 inch of rise per 12 of run, a maximum 8.33 % slope, so the ramp endpoint turns a rise into the ramp: run = rise × 12 (or × 16 / × 20 for a gentler grade if you have the room), plus the level landings the code requires — a 5-foot landing top and bottom and another between runs whenever the rise exceeds 30 inches — and the total length end to end, so a 24-inch rise needs a 24-foot run and 34 feet overall, while a 36-inch rise breaks into two runs with an intermediate landing for 51 feet. The fit endpoint answers the real-world question: does a ramp for this rise fit the run you have? It returns the minimum run an ADA 1:12 ramp needs, whether your space is enough, and the slope you would actually get if you forced it in — flagging when that exceeds 8.33 % and you need a switchback or a lower rise. Everything is computed locally and deterministically, so it is instant and private. Ideal for construction, accessibility, home-modification and contractor app developers, ramp-estimator and code-check tools, and building software. Pure local computation — no key, no third-party service, instant. Confirm against current ADA and local code. Live, nothing stored. 2 compute endpoints.
api.oanor.com/adaramp-api
Farkle Score API
Farkle dice-scoring maths as an API, computed locally and deterministically — the points a Farkle (Zilch, Ten Thousand) scoring app tallies a roll by. The score endpoint takes up to six dice and returns the value by the common ruleset: a single 1 is 100 and a single 5 is 50; three of a kind scores the face times 100 (three 1s being the exception at 1000); four, five and six of a kind are 1000, 2000 and 3000; a 1-to-6 straight or three pairs is 1500; and two triplets is 2500 — so 1-1-1-5-5-5 scores 2500 as two triplets rather than 1100, a 1-2-3-4-5-6 straight is 1500, and 6-6-6-2-3 is 600 with the 2 and 3 dead. It flags a farkle when nothing scores (you lose the turn’s points) and tells you whether every die counted — a hot dice that lets you roll all six again. Rulesets vary, so it scores the widely-used set and says so. Everything is computed locally and deterministically, so it is instant and private. Ideal for dice-game, party-game and scoring app developers, score-helper and game-night tools, and board-game-companion software. Pure local computation — no key, no third-party service, instant. Scores a roll; it does not roll the dice. Live, nothing stored. 1 compute endpoint.
api.oanor.com/farkle-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Knife Sharpening API?
What's the rate limit for Knife Sharpening API?
How much does Knife Sharpening API cost?
Can I cancel my subscription anytime?
Is Knife Sharpening API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/knifesharp-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/knifesharp-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/knifesharp-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/knifesharp-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.