Sett (EPI from WPI)
API · /weaving-api
Weaving API
Weaving and loom maths as an API, computed locally and deterministically — the warp, weft and sett numbers a handweaver warps a loom by. The warp endpoint computes the total ends and the warp yarn for a project: ends = warp width × EPI (ends per inch, the sett), and the warp length per end = the cloth length adjusted for take-up (~10 %) and shrinkage plus the loom waste (~24 inches of thrums), so a 20-inch-wide piece at 12 EPI woven to 60 inches needs 240 ends and 600 yards of warp. The weft endpoint computes the weft yarn from the picks per inch, the width and the woven length: picks = PPI × woven length, each crossing the width plus the draw-in. The sett endpoint turns a yarn's wraps-per-inch into the ends-per-inch to set: a balanced plain weave is half the WPI, twill two-thirds, satin three-quarters — so a yarn that wraps 24 times per inch setts at 12 EPI for plain weave. Everything is computed locally and deterministically, so it is instant and private. Ideal for weaving, fiber-arts, textile and craft app developers, warp-calculator and project-planning tools, and weaving education. Pure local computation — no key, no third-party service, instant. Imperial inches in; yards out. Live, nothing stored. 3 compute endpoints. Take-up, draw-in and loom waste have sensible defaults — measure your own loom.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 76 ms
- Server probes · 24h
- Subscribers
- 4,475
- active
- Total calls
- 76
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 6,050 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 6,050 calls/month
- 2 req/sec
- Warp + weft + sett
- No credit card
Starter
€3.75 /month
- 56,500 calls / month
- 6 requests / second
- Hard cap (429 above quota, no overage)
- 56,500 calls/month
- 6 req/sec
- Take-up, draw-in, structure setts
- Email support
Pro
€10.50 /month
- 239,000 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 239,000 calls/month
- 15 req/sec
- Project & yarn pipelines
- Priority support
Mega
€33.50 /month
- 1,345,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 1,345,000 calls/month
- 40 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Programming Languages API
The language definitions GitHub uses to recognise code (the open-source Linguist data) as an API — a clean reference for syntax highlighting, file-type detection, repository dashboards and developer tooling. For each of 800+ languages the API returns its type (programming, markup, data or prose), its brand colour (the hex GitHub paints it), the file extensions associated with it, common aliases, the GitHub language id and the editor (ace) mode. Look a language up by name or alias (golang resolves to Go), reverse-look-up which language(s) own a file extension (.py → Python; .h → C, C++, Objective-C), list the languages of a type, search, or list them all. Distinct from languages-api (ISO 639 human languages) — this is the programming-language reference. Served from memory — always fast.
api.oanor.com/proglang-api
MIME Types API
The canonical MIME / media-type database (the jshttp mime-db used by Express and most of the Node ecosystem: IANA + Apache + nginx), served from memory — no key. Resolve a media type to its file extensions, charset and compressibility; reverse-lookup the media type(s) for a file extension (e.g. png → image/png); and search or list types by source. 2,600+ media types, 1,000+ with file extensions. Lean, predictable JSON. Ideal for upload validation, Content-Type resolution, file-type detection, download handlers and developer tooling.
api.oanor.com/mimetypes-api
MusicBrainz API
The open music-metadata database as an API — artists, release-groups (albums), releases, recordings and labels, identified by stable MusicBrainz IDs (MBIDs), returned as clean JSON. Search any entity by name or Lucene query; look up an artist with their external links and tags, an album, a release with its full track list, a recording with its ISRCs, or a label; and browse an artist's complete discography. Live data with MBIDs, disambiguations, types, countries, life spans, ISRCs, barcodes, catalogue numbers and relations — the canonical identifiers that link and de-duplicate music data across services. Ideal for metadata enrichment and matching, music catalogues, tagging and library tools, and research. 11 data endpoints. Authenticated with an x-oanor-key; fair-use rate limits per plan.
api.oanor.com/musicbrainz-api
Pinterest API
Real-time Pinterest data as an API — pins, boards and users, returned as clean JSON. Search pins, boards or users by keyword; look up any user's profile with follower, pin and board counts; pull a user's boards and their pins; fetch a pin's details (repins, comments, image, link, domain, pinner) and its related pins; and fetch a board's details and its pins. Live data with titles, descriptions, full-resolution image URLs, outbound links, repin and comment counts, dominant colours and creators. Ideal for social listening and trend research, content aggregation and discovery, e-commerce and visual-marketing tools, and dashboards. 10 data endpoints. Authenticated with an x-oanor-key; fair-use rate limits per plan.
api.oanor.com/pinterest-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Weaving API?
What's the rate limit for Weaving API?
How much does Weaving API cost?
Can I cancel my subscription anytime?
Is Weaving 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/weaving-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/weaving-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/weaving-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/weaving-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.