REST API · GET / POST
Shazam API
Определение песни по аудио или видео: URL или загрузка файла.
GET
https://api.interapi.dev/api/v1/shazam
Цена запроса: 5 кредитов за успешный ответ. 5xx — бесплатно, 4xx — не больше 1 кредита. Тарифы
Что умеет
Shazam-сервис INTERA: передайте прямую ссылку на аудио/видео (GET) или загрузите файл (POST). Бот режет несколько отрезков через ffmpeg (mono 16 kHz) и распознаёт через Shazam. Ответ: title, artist, album, coverart, label.
- GET по URL или POST файл
- MP3, MP4, M4A, OGG, WebM…
- Несколько попыток (разные отрезки)
- Redis-кэш результатов
- Artist — Title в одном поле label
Как пользоваться
- GET — прямая HTTPS-ссылка на аудио/видео в url. POST — загрузите файл (MP3, MP4, M4A… до 50 MB)
- GET /api/v1/shazam?url=… или POST /api/v1/shazam с полем file
- Ответ: title, artist, album, coverart, label. Распознавание 5–30 сек.
Параметры
GET-параметры
urlstring (query)обязательный- Прямая HTTPS-ссылка на аудио или видео. Подходит music_url из TikTok/Instagram или любой прямой MP3/MP4.
POST, multipart/form-data
filefile (multipart/form-data)обязательный- Аудио или видео файл: MP3, MP4, M4A, OGG, WebM, WAV, MKV, MOV. Максимум 50 MB.
Пример запроса
curl -G "https://api.interapi.dev/api/v1/shazam" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "url=https://cdn.example.com/audio.mp4"import requests
resp = requests.get(
"https://api.interapi.dev/api/v1/shazam",
params={"url": "https://cdn.example.com/audio.mp4"},
headers={"X-API-Key": "YOUR_API_KEY"},
timeout=60,
)
resp.raise_for_status()
print(resp.json())const params = new URLSearchParams({ url: "https://cdn.example.com/audio.mp4" });
const resp = await fetch(`https://api.interapi.dev/api/v1/shazam?${params}`, {
headers: { "X-API-Key": "YOUR_API_KEY" },
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());<?php
$query = http_build_query(["url" => "https://cdn.example.com/audio.mp4"]);
$ch = curl_init("https://api.interapi.dev/api/v1/shazam?" . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-API-Key: YOUR_API_KEY"],
CURLOPT_TIMEOUT => 60,
]);
$data = json_decode(curl_exec($ch), true);
print_r($data);
POST
curl -X POST "https://api.interapi.dev/api/v1/shazam" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@clip.mp4"import requests
with open("clip.mp4", "rb") as f:
resp = requests.post(
"https://api.interapi.dev/api/v1/shazam",
headers={"X-API-Key": "YOUR_API_KEY"},
files={"file": f},
timeout=90,
)
print(resp.json())const form = new FormData();
form.append("file", fileInput.files[0]);
const resp = await fetch("https://api.interapi.dev/api/v1/shazam", {
method: "POST",
headers: { "X-API-Key": "YOUR_API_KEY" },
body: form,
});
console.log(await resp.json());<?php
$ch = curl_init("https://api.interapi.dev/api/v1/shazam");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-API-Key: YOUR_API_KEY"],
CURLOPT_POSTFIELDS => ["file" => new CURLFile("clip.mp4")],
]);
print_r(json_decode(curl_exec($ch), true));
Пример ответа
{
"status": "success",
"platform": "InterAPI",
"found": true,
"track": {
"title": "Shazam",
"artist": "MACAN",
"album": "Shazam - Single",
"coverart": "https://is1-ssl.mzstatic.com/…/400x400cc.jpg",
"shazam_url": "https://www.shazam.com/track/…",
"isrc": "RUA1D2401234",
"key": "683214321",
"label": "MACAN - Shazam"
},
"duration_ms": 4870
}duration_ms — время обработки на сервере. Ссылки в примере сокращены.
Проверить запрос
Без ключа — до 30 запросов в час с одного IP. Со своим ключом запрос списывает кредиты по цене API.
Вставьте ссылку и нажмите «Отправить». Ответ появится здесь.