MuscleWiki API pricing
MuscleWiki API pricing starts free — 500 Playground calls a month — and runs from $10 to $199.99 per month, for 1,000 to 300,000 API calls per month. Most requests cost one API call — the expanded /full endpoints cost more and report their exact cost in a response header — and every paid plan includes commercial use rights.
Simple, Transparent Pricing
Choose the perfect plan for your application. Start free, scale as you grow. All plans include access to our complete exercise database.
Custom
Everything in ENTERPRISE, plus:
Custom-built for teams shipping at scale. We'll tailor a plan around what you actually need — pick from options like:
- Custom API limits
- Bodymap images
- Dedicated support
Options vary by agreement — we'll scope the right mix with you.
Commercial use included: All paid plans include full commercial use rights. Build and ship products, SaaS apps, and client projects without additional licensing fees.
API Limits: All plans include a monthly API call quota. Monthly plans reset on your billing anniversary; annual plans and the free plan reset on the 1st of each calendar month. You'll receive email alerts at 80%, 90% and 100% usage (Custom plans: 80% and 100%). Requests beyond your limit will return a 429 error until the next reset.
Choose monthly billing or pay upfront annually and save 25%.
Which plan is right for you
Plans differ on two axes: how many API calls you get each month, and how much of the dataset your API key can reach.
- BASICFree
- Free evaluation plan for developers who want to try the API in the browser Playground before writing any code — no card required. A Basic key works only through the Playground on this site, never from your own application.
- TESTING$10 per month
- The cheapest way to build against a real API key: enough calls to wire up an integration and run a test suite against English exercise data.
- GROWTH$39.99 per month
- For a shipped app in production that needs exercise data in all 14 languages, with a monthly quota sized for small and mid-sized fitness products.
- PROFESSIONAL$99.99 per month
- For production apps that need the complete dataset — routines, workouts and bodymap images on top of exercises — with headroom for steady day-to-day traffic.
- ENTERPRISE$199.99 per month
- For high-traffic products that need the complete dataset at scale, with the largest self-serve monthly quota and priority support.
- CUSTOMCustom
- For teams whose requirements fall outside the catalogue — negotiated call limits, per-feature access and dedicated support, provisioned by our team.
Compare every plan
Effective cost is the monthly price divided by the included call quota, rounded to the nearest cent. It is the number to compare plans on — not the headline price.
| Plan | BASIC | TESTING | GROWTH | PROFESSIONALMost popular | ENTERPRISE |
|---|---|---|---|---|---|
| Price | Free | $10per month | $39.99per month | $99.99per month | $199.99per month |
| Included API calls per month | 500 | 1,000 | 30,000 | 100,000 | 300,000 |
| Effective cost per 1,000 calls | — | $10.00 | $1.33 | $1.00 | $0.67 |
| Direct API key access | Not included | Included | Included | Included | Included |
| Exercises, search, filters & videos | Playground only | Included | Included | Included | Included |
| Routines & workouts endpoints | Playground only | Not included | Not included | Included | Included |
| Bodymap images | Playground only | Not included | Not included | Included | Included |
| All 14 languages | Playground only | Not included | Included | Included | Included |
Need limits, features or terms that are not in this table? The Custom plan is negotiated and provisioned by our team — talk to sales.
What happens when you hit your monthly limit
Your quota is a ceiling, not a meter. There is no overage billing: once you have used every call on your plan, further requests are refused until the quota resets, and you are never charged for calls beyond your plan.
- Over-quota requests return HTTP 429. The JSON body carries
detail,messageand anupgrade_url, plus areset_attimestamp when the reset time is known. A matchingRetry-Afterheader gives the seconds until reset, so a client can back off correctly instead of hammering the API. - You get warned before it happens. Usage-alert emails go out at 80%, 90% and 100% of your monthly quota, and your dashboard shows live usage against the limit. Custom plans get 80% and 100% only.
- Monthly plans reset on your billing anniversary; annual plans reset on the 1st. A monthly subscription's quota resets at the start of each billing period rather than on the first of the month. An annual subscription is billed once a year but still has a monthly quota, so that quota resets on the first of each calendar month — as does the free plan, which has no subscription at all.
- Endpoints outside your plan return 403, not 429. Asking for a plan-gated endpoint — routines, workouts or a non-English language — is a permissions answer, not a quota answer, and comes back immediately with an
upgrade_url. Bodymap images behave differently: on a plan that does not include them thebodymap_male/bodymap_femalefields simply come backnullinstead of a URL, and the bodymap image endpoints themselves answer403with a plaindetailmessage. Expanded endpoints such as/routines/{id}/fullcost more than one call, and those responses — only those, since the middleware sets the header only when the cost exceeds one — carry anX-API-Calls-Costheader giving the exact figure.
Upgrading, downgrading and cancelling
Changing plan takes effect as soon as the checkout completes. You pick the new plan from your dashboard and complete a checkout for it. The new quota and any newly unlocked endpoints are live on your existing API key straight away — your key never changes, so nothing needs redeploying — and your previous subscription is then cancelled at the end of the period you have already paid for, so it never renews again.
Moving between two paid plans works the same way in both directions. An upgrade and a paid-to-paid downgrade both go through that same fresh checkout, so a downgrade's smaller quota and narrower endpoint access apply from the moment it completes rather than at your next renewal.
There is no automatic proration or credit. Switching plans starts a new subscription rather than adjusting the existing one, so the new plan is charged in full at checkout and the previous subscription simply runs to the end of the period you already paid for. If the timing matters to you, switch close to your renewal date — or ask us first.
Cancelling keeps your access until the end of the period you already paid for. Cancellation is scheduled rather than immediate: you keep your paid plan, its quota and its endpoints until the current billing period ends, you are not charged again, and the account then moves to the free plan. Your API key keeps working — it is the plan behind it that changes, so calls that need a paid feature start returning 403.
Monthly plans are month-to-month. There is no minimum term and no cancellation fee on a monthly plan. An annual plan is a twelve-month commitment charged upfront — you can cancel it, but those twelve months have already been billed. Custom plans are the exception — those terms are whatever we agreed with you.
Start free, and only pay when you need to call the API from your own code. The free plan needs no card and still issues you a key, so you can try the API from the Playground and read the documentation before you decide which plan you need.
Monthly or annual billing
Every paid plan is available on either cadence. Monthly plans renew each month. Annual plans are charged upfront for twelve months at a 25% discount and renew yearly until cancelled. Use the Monthly / Annual toggle on the plan cards above to see the upfront amount for each plan.
Your monthly call quota is the same either way — 25% off the price, not 25% more calls. Annual billing changes what you pay and when, not what your key can do.
Switching between monthly and annual on the same plan is done from your dashboard; the new cadence starts once the checkout completes. If you need the two periods to line up exactly, ask us first.