Bitculator
Bitculator · Embeds · v1

Embed widgets

Put Bitculator's live crypto tools straight onto your own site with a single <iframe> - a real-time price chart, a converter, a marketcap flipper, and six calculators. No SDK, no build step.

9 widgets Embed key + domain Anonymous mode

Every widget is a self-contained page under /{locale}/embed/… that you drop into your site with an <iframe>. It renders Bitculator's live market data - the same feed the app uses - and needs no JavaScript on your side.

Paste it anywhere - no script tag needed:

<iframe src="https://bitculator.com/en/embed/converter/bitcoin/usd?embed_key=YOUR_EMBED_KEY"
        title="Bitculator converter" loading="lazy"
        width="100%" height="470" style="border:0;border-radius:12px"></iframe>

Add your embed key as a query parameter and register the domain you'll embed on (both in your developer console). Keyless embeds also work in anonymous mode - handy for a quick test - but are limited per visitor IP. Every widget honours the {locale} in the URL and follows the theme cookie (or ?theme=dark).

Content-Security-Policy

Serving a Content-Security-Policy on your site? Add https://bitculator.com to your frame-src (and child-src for older browsers) so the widget can load. Nothing to change on our side - Bitculator already allows embedding on any domain.

Content-Security-Policy: frame-src https://bitculator.com

Snippet builder

Pick a widget and its options - the embed snippet updates as you go. Copy it, or open a live preview in a new tab.

Embed snippet Open example

                    

Rendered live in anonymous mode.

Authentication

An embed key is a token with the api ability, minted in your developer console. Unlike Data API keys, it rides in the iframe URL as a query parameter - never a header - so it is public by design. It carries the api ability only; the Bearer-only data-api keys are rejected here so they can't leak into referers or logs.

Pass it as ?embed_key=… (or the alias ?api_key=…). A keyed request must also come from an allow-listed domain (see below). If you're logged into Bitculator in the same browser, the key check is skipped for your own session.

Domains

A keyed embed only renders on domains you've registered. Bitculator reads the embedding page's Referer (falling back to Origin), normalises it (lower-cased, www. and any trailing dot removed) and matches it exactly against your allow-list. An unregistered or unreadable host returns 403.

Manage domains in your developer console; each plan allows a set number (below). Because Referer/Origin is set by the visitor's browser and can be spoofed, the allow-list is a guard against casual key reuse, not cryptographic proof - treat the key as public either way. Anonymous (keyless) embeds are not domain-gated; they're limited per IP instead.

Quota & limits

Embeds draw from a monthly pool that is entirely separate from the Data API - its own plan, its own counter. Anonymous loads count per visitor IP (1,000/month); keyed loads count against your plan's monthly limit. Free plans reset on the calendar month; paid plans reset on your billing day.

*Embed responses carry no `X-Quota-headers** - deliberately, so quota numbers never leak into your visitors' pages. Watch your usage in the [developer console](/user/developer/api) instead. (TheX-Quota-*` headers you may have seen are on the Data API only.)

Over the limit

When a widget is over quota it returns 429. In a browser iframe that's a small styled "usage limit reached" page (so your layout doesn't break); a JSON caller gets {"message", "limit", "used"}. Add a key, or upgrade your plan, for more.

Plans

Embed plans are separate from your Data API plan. Every account starts on Free; keyless visitors get the anonymous tier.

Plan Loads / month Domains Keys
Free 10,000 1 2
Starter 50,000 3 5
Pro 500,000 10 10
Anonymous 1,000 per IP - -

Anonymous is the keyless tier - no domains or keys, limited per visitor IP. Upgrade in the developer console.

Widgets

Nine drop-in widgets. Copy a snippet, swap in your key, register your domain - done. Path segments (like a coin slug) resolve by the asset's slug and must be an active market; every widget also accepts the shared query parameters below.

GET

Currency converter

/{locale}/embed/converter/bitcoin/usd

Convert an amount between any two crypto or fiat assets at live market rates, with an optional comparison table.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/converter/bitcoin/usd?embed_key=YOUR_EMBED_KEY"
        title="Bitculator converter" loading="lazy"
        width="100%" height="470" style="border:0;border-radius:12px"></iframe>
Parameter In Default
fromThe asset to convert from, by slug (an active market). path -
toThe asset to convert to, by slug (an active market). path -
hideTableHide the comparison table and show only the converter. query false
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Price history chart

/{locale}/embed/zoom/bitcoin

A coin's full historical price as an interactive chart, with a picker of the top markets by marketcap.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/zoom/bitcoin?embed_key=YOUR_EMBED_KEY"
        title="Bitculator price chart" loading="lazy"
        width="100%" height="460" style="border:0;border-radius:12px"></iframe>
Parameter In Default
slugThe coin or token to chart, by slug (an active market). path -
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Marketcap flipper

/{locale}/embed/flip/bitcoin/ethereum

The "flippening" - what one asset's price would be at another's marketcap, with the implied multiple.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/flip/bitcoin/ethereum?embed_key=YOUR_EMBED_KEY"
        title="Bitculator marketcap flipper" loading="lazy"
        width="100%" height="460" style="border:0;border-radius:12px"></iframe>
Parameter In Default
entity1The asset whose price is reprojected, by slug (an active market). path -
entity2The asset whose marketcap is applied, by slug (an active market). path -
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

DCA simulator

/{locale}/embed/dca

What recurring weekly buys of a coin over the past 5 years would have accumulated and returned.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/dca?embed_key=YOUR_EMBED_KEY"
        title="Bitculator DCA simulator" loading="lazy"
        width="100%" height="560" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Profit calculator

/{locale}/embed/profit

Net profit, loss and ROI from a buy price, sell price, quantity and fees.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/profit?embed_key=YOUR_EMBED_KEY"
        title="Bitculator profit calculator" loading="lazy"
        width="100%" height="560" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Interest calculator

/{locale}/embed/interest

Project the future value of a holding from a starting principal, rate and compounding frequency.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/interest?embed_key=YOUR_EMBED_KEY"
        title="Bitculator interest calculator" loading="lazy"
        width="100%" height="560" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Tax calculator

/{locale}/embed/tax

Estimate taxable amount and tax owed across trading gains, mining, staking, airdrops and yield.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/tax?embed_key=YOUR_EMBED_KEY"
        title="Bitculator tax calculator" loading="lazy"
        width="100%" height="580" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Loan calculator

/{locale}/embed/loan

Model a crypto loan - repayment, total interest and an amortization breakdown.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/loan?embed_key=YOUR_EMBED_KEY"
        title="Bitculator loan calculator" loading="lazy"
        width="100%" height="580" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview
GET

Staking calculator

/{locale}/embed/staking

Estimate staking rewards from a staked amount, APR/APY and duration.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/staking?embed_key=YOUR_EMBED_KEY"
        title="Bitculator staking calculator" loading="lazy"
        width="100%" height="520" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing - good for narrow columns. query false
Live preview