GSM ↔ US basis weight
API · /paper-api
Paper Weight API
Paper-weight maths as an API, computed locally and deterministically. The convert endpoint converts between grammage (GSM, grams per square metre — the universal measure) and the US basis weight in pounds, which depends on the paper stock type: bond/writing (basis 17×22 in), text/book/offset (25×38), cover (20×26), index (25.5×30.5), tag (24×36) and bristol (22.5×28.5). The weight endpoint computes the mass of a single sheet, a 500-sheet ream and the M-weight (the weight of 1000 sheets in pounds) at a given grammage and sheet size — accepting dimensions in millimetres, centimetres, inches or metres, or a named size (A3–A5, letter, legal, tabloid). The stocks endpoint is a reference of the US stock types with their conversion factors and basis sizes. Everything is computed locally and deterministically, so it is instant and private. Ideal for printing and publishing tools, stationery and packaging apps, print-shop estimators, and shipping-weight calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is paper grammage and basis weight; for general mass-unit conversion use a unit-conversion API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 91 ms
- Server probes · 24h
- Subscribers
- 4,335
- active
- Total calls
- 40
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 12,435 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 12,435 calls/month
- 2 req/sec
- Convert + weight + stocks
- No credit card
Starter
€13.95 /month
- 22,050 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 22.05k calls/month
- 8 req/sec
- Ream & M-weight, named sizes
- Email support
Pro
€33.85 /month
- 270,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 270.5k calls/month
- 20 req/sec
- Printing / publishing pipelines
- Priority support
Mega
€71.85 /month
- 1,395,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.395M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Screen Printing API
Screen-printing maths as an API, computed locally and deterministically — the ink-usage and cost numbers an apparel printer or print shop quotes a job by. It all turns on “ink mileage”, the printed area a unit of ink covers — in² per pound, with plastisol commonly 12,000–18,000 depending on mesh and deposit. The ink endpoint sizes a run: ink = (print area × prints) ÷ mileage, so a 100 in² design printed 150 times at 15,000 in²/lb takes exactly one pound (454 g, about 3 g a print); pass the design as area or as width × height. The prints endpoint runs it in reverse — how many shirts a tub of ink will do: prints = (ink weight × mileage) ÷ print area, so a pound of plastisol covers 15,000 in², roughly 150 prints of that design before waste, and it takes pounds, kilograms or grams. The cost endpoint puts a price on it: ink pounds × price per pound gives the run’s ink cost and the per-print figure, usually just a few cents — ink only, before screens, garments and labour. Everything is computed locally and deterministically, so it is instant and private. Ideal for screen-printing, apparel-decoration, print-shop and merch app developers, quoting and job-costing tools, and production-planning software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Ink only; add screens, garments and labour for a full quote.
api.oanor.com/screenprint-api
Sunscreen & UV API
Sun-safety maths as an API, computed locally and deterministically — the burn-time, SPF and reapplication numbers a sunscreen, weather or outdoor app keeps people safe with. The burntime endpoint estimates how long until sunburn from the Fitzpatrick skin type (1 very fair to 6 deeply pigmented), the UV index and the SPF: unprotected time is a skin-type base (type II around 15 minutes) scaled by 6 ÷ UV index, and protected time is that times the SPF — so fair type-II skin at UV 8 burns in about 11 minutes bare, or roughly 5½ hours under SPF 30, while very fair type-I skin in extreme UV 11 burns in 5 minutes. The spf endpoint flips it: the SPF needed = your desired minutes outdoors ÷ the unprotected time, with the reminder that real protection plateaus around SPF 30–50. The amount endpoint covers the part people get wrong — about 2 mg/cm², roughly 1 ounce (30 g, a shot glass) for a full adult body, reapplied every two hours — and totals the sunscreen for a day out. Everything is computed locally and deterministically, so it is instant and private. Ideal for sun-safety, weather, skincare and outdoor app developers, UV-alert and reminder tools, and wellness software. Pure local computation — no key, no third-party service, instant. Educational estimates, not medical advice. Live, nothing stored. 3 compute endpoints.
api.oanor.com/sunscreen-api
Hammock Hang API
Hammock-hang maths as an API, computed locally and deterministically — the suspension-force, ridgeline and strap-height numbers a camper or hammock hanger sets up by. It all comes back to the 30-degree rule. The force endpoint shows why: the tension in each suspension line is the occupant weight ÷ (2 × sin of the hang angle), so at a 30° hang each strap carries about one body weight, but flatten the hang to 15° and it jumps to roughly 1.9 times — which is what over-stresses straps, trees and your back when people pull a hammock drum-tight. The ridgeline endpoint sizes a structural ridgeline at about 83 % of the hammock length, the fixed line that reproduces that ~30° lay and the right sag on any pair of trees. The strapheight endpoint estimates how high to attach the straps from the distance between the trees and the seat height you want, since trees farther apart need higher anchor points to hold the angle. Everything is computed locally and deterministically, so it is instant and private. Ideal for camping, backpacking, outdoor-gear and hammock app developers, hang-calculator and trip-planning tools, and adventure software. Pure local computation — no key, no third-party service, instant. Weight and lengths in your own unit. Live, nothing stored. 3 compute endpoints.
api.oanor.com/hammock-api
Caulk Coverage API
Caulk and sealant coverage maths as an API, computed locally and deterministically — the linear-feet-per-tube and how-many-tubes numbers a builder, glazier or DIYer buys sealant by. A bead of caulk is essentially a thin cylinder, so the coverage endpoint works out the feet a cartridge lays from the bead width: volume per foot ≈ (π/4 × width²) × 12 inches, and a standard 10.1 fl oz cartridge (18.2 in³) lays about 30 feet of a quarter-inch bead, 13 feet of a fat three-eighths or 55 of a fine three-sixteenths — pass cartridge_oz for sausage packs or 28-oz tubes, and a tube count to total it. The tubes endpoint runs it backwards: cartridges needed = (joint length × a waste factor) ÷ feet per cartridge, rounded up, so a 100-foot run of quarter-inch bead with 10 % waste takes four tubes. Everything is computed locally and deterministically, so it is instant and private. Ideal for construction, glazing, weatherproofing and home-improvement app developers, material-estimator and shopping-list tools, and contractor software. Pure local computation — no key, no third-party service, instant. Inches and feet; estimates — tooling and waste vary. Live, nothing stored. 2 compute endpoints.
api.oanor.com/caulk-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Paper Weight API?
What's the rate limit for Paper Weight API?
How much does Paper Weight API cost?
Can I cancel my subscription anytime?
Is Paper Weight 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/paper-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/paper-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/paper-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/paper-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.