Suno API: Official Status, API Keys and a Python Example
Suno's own API is invite-only. Here is what still works today.
On this page
As of October 17, 2026, Suno has an official API, but you cannot sign up for it: platform.suno.com offers only a sign-in for existing API accounts, with no public docs, prices or self-serve access, and Suno said in July it is starting with a curated group of partners. Without an invite, two other options work today.
Is there an official Suno API?
Suno markets an API on platform.suno.com, and that one page is the whole public front of it.

The headline promises "original songs, covers, and mashups from a single prompt" behind "a simple REST API", and the only action on the page is signing in with the Google account linked to your Suno account or with an emailed code. Its other links are suno.com, Terms and Privacy, and nothing else; /docs and /pricing on the same host return that same sign-in box (checked October 17, 2026). So the API exists, but any docs or prices it has are visible only after you sign in.
| What you look for | Status on October 17, 2026 |
|---|---|
| Official API page | Sign-in only |
| Public docs | None published |
| Price list | None published |
| Self-serve sign-up | No |
| How to get in | Invite, partner form |
The partner call is known from Music Business Worldwide, which reported on July 2, 2026 that Suno's chief product officer, Jack Brody, announced the plans in a LinkedIn post on July 1 and linked an intake form. The form, as that report quotes it, says: "We're beginning to explore a developer API, starting with a curated group of partners." No launch date was announced, and nothing on the platform page, the release notes or Suno's help center adds one.
Enterprise buyers get pointed at sales instead: Suno's Terms say "if you are an enterprise user, you must contact sales to use our Service". The same report notes that Suno "has not released self-serve developer access or published its own API documentation", which matches what the page still shows in October.
Three ways to call Suno from code today
| Option | How it works | What to watch |
|---|---|---|
| Official partner access | Ask Suno, join the curated group | No public timeline |
| Unofficial GitHub wrapper | Your Suno cookie on your own server | Suno's Terms, stale code |
| Third-party API platform | OmniaKey key, task create and poll | Third-party, not Suno |
Official partner access. The intake form Brody linked in July is the only door Suno has shown, and the report describes early access for a curated group of partners rather than general sign-up. On October 17, 2026 the platform page carries only the sign-in box, with no form, waitlist or request-access link, and we found no public link to the form on Suno's own pages. Music Business Worldwide reported no timeline for a wider launch.
The unofficial GitHub wrapper. gcui-art/suno-api is the best-known workaround: 3,259 stars and about 100 open issues on October 17, 2026, with its last commit on March 6, 2026. Its README says the official API "is not yet available" and asks for three things: the cookie of your own Suno account, copied by hand from the browser's network tab; a paid 2Captcha key, because Suno keeps serving hCaptcha challenges; and a real browser driven through Playwright with rebrowser patches. Issue #262, opened December 14, 2025, says the author "lacks the time to maintain it".
Suno's Terms of Service, last revised August 10, 2026 and effective September 3, 2026, ban "any data mining, robots, scraping, or similar data gathering or extraction methods" and also ban obtaining content "through any means not intentionally made available or provided for through the Service". Read both clauses in Suno's Terms before you build a product on a wrapper that drives suno.com with your own cookie. The README itself carries no warning about them; its only legal line is the LGPL-3.0 license.
A third-party API platform. OmniaKey is a third-party API platform, not Suno. It sells API access to Suno v4.5 and Suno v6 through its own asynchronous media API, with a key OmniaKey issues and bills. Its docs list exactly two model IDs, suno-v4.5 and suno-v6, and every request returns one finished, mixed song, where a Suno account shows you two alternatives. That is the option we ran end to end below.
Generate a song in Python
One request creates a job, a second call checks its status, and the finished MP3 arrives as a signed link. Export your key, save the script as suno_song.py, and run it; the script polls every 5 seconds on status, because progress.percent is best-effort and can sit at 0 while the job runs.
export OMNIAKEY_API_KEY="your-key"
python3 suno_song.py
import os
import time
import uuid
import requests
API = "https://api.omniakey.com/v1/media/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['OMNIAKEY_API_KEY']}"}
# 1. Create the job. Reuse the same Idempotency-Key only when retrying this exact request.
job = requests.post(
API,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json={
"model": "suno-v4.5",
"type": "audio",
"operation": "generate",
"input": {"prompt": "calm lo-fi beat for late-night coding, soft piano, vinyl crackle"},
"parameters": {"title": "Late Build", "instrumental": True},
},
timeout=30,
)
job.raise_for_status()
task = job.json()
print("task:", task["id"], task["status"])
# 2. Poll on status, not on progress.percent, until the job finishes.
while task["status"] in ("queued", "processing"):
time.sleep(5)
task = requests.get(f"{API}/{task['id']}", headers=HEADERS, timeout=30).json()
if task["status"] != "succeeded":
raise SystemExit(f"job ended {task['status']}: {task.get('error')}")
# 3. Download the MP3 now: the signed URL expires in about an hour.
asset = task["assets"][0]
with open("late-build.mp3", "wb") as f:
f.write(requests.get(asset["url"], timeout=120).content)
print("saved late-build.mp3", asset["byte_size"], "bytes")
We ran that exact script on October 17, 2026 and it printed two lines:
task: task_VDvzdpfABcqDOIpo9I1p7CXHg99elSuK queued
saved late-build.mp3 3506516 bytes
Start to saved file took 82 seconds. The file is a 48 kHz stereo MP3 of about 161 kbps, 2:55 long, 3.5 MB, and instrumental because the script sets instrumental to true.
To compare the two models in both input modes, we also made four songs through OmniaKey's API on October 17, 2026, from 13:03 UTC, polling every 4 seconds.

| Model | Mode | Ready in | Length |
|---|---|---|---|
| v4.5 | prompt | 105 s | 3:23 |
| v6 | prompt | 92 s | 3:07 |
| v4.5 | own lyrics | 70 s | 1:03 |
| v6 | own lyrics | 86 s | 0:45 |
All four finished on the first try, and each request returned one MP3. A description produced a full song of roughly three minutes; the same style with eight lines of our own lyrics came back at 45 to 63 seconds, so expect a short track when you write your own words. Bitrates ranged from 151 to 195 kbps at 48 kHz stereo, and the signed download links expired about an hour after each job was created.
Parameters and limits
| Field | What it does |
|---|---|
input.prompt | The description of the song you want |
input.lyrics | Your own words; a non-empty value switches modes |
parameters.style / parameters.tags | The style when you supply lyrics |
parameters.title | The song title |
parameters.instrumental | true drops the vocal |
parameters.mv | Pins a v4.5 version: chirp-v4-5, chirp-v4, chirp-v3-5, chirp-bluejay |
parameters.n | Number of songs; must be 1 |
- A non-empty
input.lyricsswitches to custom lyrics mode, whereinput.prompt,parameters.styleorparameters.tagsdescribes the style instead; a task with neither prompt nor lyrics is rejected. suno-v6is picked by the model ID and needs nomv, whilemvonly applies to v4.5.- Only
generateis served. Extend, standalone lyrics and speech synthesis fail with503 no_available_channel, and the pre-charge comes back. - One request is one finished song, so
parameters.nmust be 1. - Asset links are signed and short-lived, about an hour, and task records are kept for 24 hours after creation.
Errors and refunds
| Code | What it means | What to do |
|---|---|---|
400 invalid_request | Malformed body, or neither prompt nor lyrics | Fix the body, use a new Idempotency-Key |
400 model_price_error | No price set for this model and operation | Check the Dashboard or the model page |
403 model_not_allowed | Your key or group does not include the model | Check the key's model access |
400 missing_idempotency_key | No Idempotency-Key header | Add one unique key per job |
409 idempotency_key_reused | Same key, different body | Restore the original body or use a new key |
404 task_not_found | Unknown task ID | Check the ID and retention window |
409 task_state_conflict | The job cannot move to that state | Read the task's current status |
503 no_available_channel | No channel serves the model or operation now | Use generate, or try later |
provider_submit_uncertain | Operation not served, or parameters rejected before sending | Read error.message; the charge is refunded |
provider_failed | The provider rejected the job or it timed out in its queue | Read error.message; the charge is refunded |
A job that fails, is cancelled or never reaches the provider is refunded automatically, and a cancelled task that still finishes is charged for the state it ends in. Replaying the same idempotency key with the same body returns the original task with a 200 instead of creating a second job, so a retry after a timeout charges once. That makes the recovery steps short: if creation times out, resend the identical body and key; once you hold a task ID, keep polling it.
Common questions
Is there a free Suno API?
Suno publishes no free API tier on platform.suno.com. The free plans live in the suno.com app: v6-mini is open to everyone, and the v4.5-all variant has been free since October 21, 2025. Output made on the free tier is for personal, non-commercial use only.
Can I use songs from a Suno API commercially?
Suno's Terms assign the Output to Pro and Premier subscribers, and they allow commercial use only for Output "downloaded by you through an approved channel". Output from the free tier stays non-commercial, and remixes are personal-use only whatever your plan. Songs from a third-party API are no exception, so read Suno's Terms before you put a generated song in a paid product.
How long does one song take?
The audio docs put a generation at twenty seconds to two minutes. Our four jobs took 70 to 105 seconds, and the script run took 82 seconds from start to saved file.
Should I use v4.5 or v6?
Suno announced the v6 family on September 9, 2026 and v4.5 on May 1, 2025. v6 is chosen by the model ID alone, while v4.5 takes parameters.mv to pin a version, and OmniaKey's suno-v4.5 ID does not say which v4.5 variant it maps to. Suno calls v6 its flagship model, so start with Suno v6 unless you need to pin an older v4.5 version.
How do I get a Suno API key?
If you already have an API account, sign in at platform.suno.com with the Google account linked to your Suno account or with an emailed code. Without an account, the July partner form was the only public door, and it is not on the page today. A third-party platform such as OmniaKey issues its own key, separate from any Suno login.
Related articles
Gemini image API relay guide
Choose the right API contract, generate an image, and recover safely when a request times out.
Seedream 5.0 Pro vs GPT Image 2: Same-Prompt Test and Price
Six jobs, the same prompts, three models: what each made and what it cost.
Best AI video API models in 2026
There is no single best video model. The right route depends on whether you need a long shot, a faithful first frame, reference images, predictable cost, or a faster production queue.