Instagram API pricing
You pay from a prepaid balance in US dollars: one API, one key, one balance, two ways a call is priced. A data request is one call, or one page of a list. Every data request costs $1.50 per 1,000 today. Lower rates for larger top-ups open soon, and top-ups made now count toward them. download has a fixed price at every level: TikTok $0.20, Instagram $0.50 per 1,000 downloads. There is no subscription and no monthly minimum.
Price per data request by level
One API, one key, one balance, two ways a call is priced. Data requests are priced at your level's rate, from $1.50 per 1,000; download has a fixed price at every level: TikTok $0.20, Instagram $0.50 per 1,000 downloads. This table is the ladder for data requests; downloads are in [their own section](#downloads).
Your rate depends on the total of everything you have topped up. It moves to the next level when the total reaches the amount in the table, and it never moves back down.
Rates above Start are not open yet: $0.95 for Growth, $0.80 for Business and $0.70 for Scale per 1,000 requests. Until they open, every top-up is priced at the Start rate. Top-ups made now still count toward the higher levels, so an account with enough top-ups moves up on its own when a rate opens.
Every account gets 100 free requests once, when it signs in with Telegram. Free requests are spent before the balance.
Crypto (USDT, BTC, ETH and more) or TON / USDT on TON. Minimum $10.
What $10, $100 and $1,000 buy
This is what a first top-up of each size buys, priced at the rate the amount earns today. The table counts data requests, or downloads if the whole amount went on download. A profile takes 1 request, the stories of an account take 1, and a page of posts takes 1.
The higher rates are left out because they are not open yet.
| Top-up | Rate | Per 1,000 requests | Per request | Data requests | Or TikTok downloads | Or Instagram downloads |
|---|---|---|---|---|---|---|
| $10 | Start | $1.50 | $0.0015 | 6,666 | 50,000 | 20,000 |
| $100 | Start | $1.50 | $0.0015 | 66,666 | 500,000 | 200,000 |
| $1,000 | Start | $1.50 | $0.0015 | 666,666 | 5,000,000 | 2,000,000 |
Downloads: a fixed price at every level
download returns only the files of an Instagram post, reel or IGTV, or of a TikTok video or photo post, by its link: no views or likes. It is not on the ladder: it has a fixed price at every level, $0.20 per 1,000 for a TikTok link, $0.50 per 1,000 for an Instagram link.
A download uses one free request while you have free requests left. After that it is paid from the same balance as every other call. The endpoint's page has the details.
| Link | Per 1,000 downloads | Per download |
|---|---|---|
| TikTok | $0.20 | $0.0002 |
| $0.50 | $0.0005 |
What is charged
A call to a profile, an about page, a post or a story takes 1 request. The stories of an account take 1. A page of posts, reels, followers or comments takes 1. Resolving a share link takes 2. Checking your balance is free. A download takes one request at its fixed price: $0.20 per 1,000 for a TikTok link, $0.50 per 1,000 for an Instagram link.
You are charged for answers: the data, not_found and private_account. A wrong parameter, a rate limit and an empty balance cost nothing. When our side fails after a charge, the charge is refunded automatically.
Every answer from a data endpoint carries X-Units-Charged, X-Balance-Remaining, X-Free-Units-Remaining and X-RateLimit-Remaining, so your code can read what was taken and what is left.
| Status | Code | Charged | When |
|---|---|---|---|
200 | ok | 1 request | The data you asked for |
404 | not_found | 1 request | The account or post does not exist |
403 | private_account | 1 request | The account is private |
400 | bad_request | free | A parameter is missing or wrong |
402 | credits_exhausted | free | Top up to continue |
429 | rate_limited | free | Too fast; wait for Retry-After |
5xx | upstream_unavailable | refunded | Our side failed or timed out |
What one request is
A data call, or one page of a list, at your level's rate. A download is one request at its fixed price: $0.20 per 1,000 for a TikTok link, $0.50 per 1,000 for an Instagram link. A download uses one free request while you have free requests left. The response headers say what was charged and what is left.
/s/…)2download), fixed price1X-Units-Charged: 1 X-Balance-Remaining: 23.4085 X-Free-Units-Remaining: 0 X-RateLimit-Remaining: 2
How to pay
Top up in the dashboard from $10 up to $10,000 per payment. Pay with crypto (USDT, BTC, ETH and more) or with TON and USDT on TON. Card payments are not available for the API.
The balance is credited when the payment arrives. No promo code or other discount applies to API prices: the rate follows only the total of your top-ups.
Large volumes
For 10 million requests a month and more, the price is set by agreement and starts from $0.55 per 1,000 requests. Write to us with your volume and the endpoints you use.
Refunds and expiry
The balance never expires. There is no deadline to spend it and no monthly fee, so an unused balance stays on your account.
If you want an unused balance back, write to support with the date of your payment. Refunds follow the refund policy.
Questions developers ask
How much does the Instagram API cost?
Data requests cost from $1.50 per 1,000, which is $0.0015 per request. Lower rates open soon, down to $0.70 per 1,000. download has a fixed price at every level: TikTok $0.20, Instagram $0.50 per 1,000 downloads.
Is there a free plan?
Yes. Every Telegram account gets 100 free requests once, with no card and no payment. After that you top up from $10.
How much does downloading a reel or a TikTok video cost?
download has a fixed price at every level: $0.20 per 1,000 for a TikTok link, $0.50 per 1,000 for an Instagram link. A download uses one free request while you have free requests left. It returns the files only; the numbers of a post come from the data endpoints.
How do I pay?
With crypto (USDT, BTC, ETH and more) or with TON and USDT on TON, from $10 per top-up. Card payments are not available for the API.
Does the balance expire?
No. An unused balance stays on your account for as long as you keep it.
Am I charged for errors?
Only for answers: the data, not_found and private_account. A wrong parameter, a rate limit and an empty balance are free, and a failure on our side is refunded automatically.
What happens when my balance runs out?
Calls answer 402 with the code credits_exhausted and cost nothing. Top up and the same key works again. The StoriesFly bot also sends a message in Telegram when your balance runs low.
Can I get a lower price for a large volume?
Yes. For 10 million requests a month and more, the price starts from $0.55 per 1,000 requests and is set by agreement. Write to us.
Can I get a refund?
An unused balance can be refunded under the refund policy. Write to support with the date of your payment.
Your first 100 requests are on us
Sign in with Telegram, create a key, call any endpoint. Top up only when you need more.
