NOWPayments APInowpayments.io ↗
Access NOWPayments via API: check status, list 100+ supported cryptocurrencies, estimate conversion rates, create payments and invoices, and track payment status.
What is the NOWPayments API?
This API exposes 8 endpoints covering the full NOWPayments cryptocurrency payment workflow. Starting from get_available_currencies, which returns ticker codes for every supported coin, through create_payment and create_invoice, you can build end-to-end crypto checkout flows, query conversion estimates, retrieve minimum payment amounts for currency pairs, and poll live payment status — all from a single integration.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/f1a5b5b1-1b18-4f85-ba15-f2ad2da90126/get_api_status' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace nowpayments-io-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: NOWPayments SDK — check API health status."""
from parse_apis.nowpayments_api import NOWPayments, UpstreamError
client = NOWPayments()
# Check API health — the only public endpoint (all others require auth)
try:
status = client.statuses.check()
print(f"API status message: {status.message}")
except UpstreamError as exc:
print(f"API unavailable: {exc}")
print("exercised: statuses.check")
Check NOWPayments API availability and health. Returns a message indicating the API is operational. No parameters required.
No input parameters required.
{
"type": "object",
"fields": {
"message": "string indicating API operational status"
},
"sample": {
"data": {
"message": "OK"
},
"status": "success"
}
}About the NOWPayments API
Currency and Rate Discovery
Two endpoints handle currency discovery without authentication. get_available_currencies returns a flat array of lowercase ticker strings (btc, eth, ltc, etc.), useful for populating a currency selector. get_full_currencies (API key required) extends this with per-currency objects that include limits and logo assets. For pricing, get_estimated_price accepts amount, currency_from, and currency_to and returns estimated_amount alongside the mirrored amount_from — letting you display a live conversion preview before a customer commits.
Payments and Invoices
create_payment initiates a direct on-chain payment. Required inputs are price_amount and price_currency (e.g. usd); optional fields include pay_currency, order_id, order_description, and customer_email. The response provides a payment_id, a pay_address the customer sends funds to, the computed pay_amount in the chosen cryptocurrency, and an initial payment_status. create_invoice follows the same parameter shape but returns an invoice_url instead of a direct address, making it suitable for hosted checkout pages where you redirect the customer.
Payment Tracking and Minimums
get_payment_status takes a payment_id and returns the current payment_status, the pay_address, price_amount, and actually_paid — the amount the network has confirmed so far. get_minimum_payment_amount requires a currency_from/currency_to pair and optionally is_fixed_rate and is_fee_paid_by_user flags, returning the min_amount below which the network will not process the transfer. get_api_status provides a basic health check returning a message field, useful for uptime monitoring.
Authentication
Two endpoints (get_api_status and get_available_currencies) work without any credentials. All others require an api_key parameter tied to a NOWPayments merchant account. Keys are scoped to a single account's currency settings, limits, and fee configuration.
The NOWPayments API is a managed, monitored endpoint for nowpayments.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nowpayments.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official nowpayments.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a crypto checkout widget that populates a currency dropdown from
get_available_currenciesand shows a live fiat-to-crypto estimate viaget_estimated_price. - Automate payment creation in an e-commerce backend using
create_paymentwithorder_idandcustomer_emailfor reconciliation. - Generate hosted invoice links with
create_invoiceand email theinvoice_urlto customers for one-click crypto payment. - Poll
get_payment_statuson a schedule to update order status whenactually_paidmeets or exceeds the required amount. - Enforce minimum order values by calling
get_minimum_payment_amountbefore presenting checkout options to users. - Display currency logos and limit metadata from
get_full_currenciesin a merchant admin dashboard. - Monitor NOWPayments service availability in an uptime dashboard using
get_api_statusat regular intervals.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does NOWPayments have an official developer API?+
What does `get_payment_status` return, and how do I know a payment is complete?+
get_payment_status returns payment_status, pay_address, price_amount, and actually_paid. Common status values from NOWPayments include waiting, confirming, confirmed, sending, finished, and failed. A payment is typically considered complete when payment_status is finished and actually_paid is at or above the expected amount.Does the API expose payment history, refunds, or payout (exchange) endpoints?+
Can `get_estimated_price` be used for any currency pair, or are there restrictions?+
get_available_currencies first to confirm both currency_from and currency_to are in the supported list before calling get_estimated_price.Are webhook or callback notifications for payment events available through this API?+
get_payment_status. NOWPayments natively supports IPN (Instant Payment Notification) webhooks, but that callback configuration is not exposed here. You can fork it on Parse and revise it to add webhook registration or retrieval endpoints if your integration requires push-based payment notifications.