Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API NetEase Cloud Music Плейлист

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

Получите треки плейлиста NetEase Cloud Music по порядку, по playlist_id или ссылке. Для каждого трека указаны исполнители, альбом, длительность и дата выхода. Длительность указана в миллисекундах, а трек из списка не обязательно доступен для прослушивания во всех регионах.

NetEase Cloud Music Playlist получает данные одного публичного плейлиста по playlist_id и возвращает запись для каждого трека: позицию, название и альтернативное название, исполнителей, альбом, длительность, время выхода, признак откровенного контента и ссылку на песню. Название плейлиста, его тип, обложка, число треков, число прослушиваний, сохранений и время последнего обновления повторяются в каждой записи. Используйте эту возможность, чтобы узнать, что содержит составленный редакцией или пользователем плейлист и сколько внимания он получает: для питчинга в плейлисты, музыкального маркетинга, исследования каталога или отслеживания того, какие песни попадают в подборки.

Передайте числовой ID или ссылку на плейлист, содержащую playlist?id= или /playlist/<ID>. duration_ms указано в миллисекундах: разделите на 1000, чтобы получить секунды. playlist_play_count считает прослушивания всего плейлиста, а не отдельного трека, а track_alias содержит подзаголовок или название на другом языке, если оно у песни есть. snapshotted_at фиксирует время получения каждой записи.

Цена: $0.56 за 1 000 запросов ($0.000556 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra NetEase Cloud Music Плейлист (netease_music/playlist).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: netease_music и action: playlist, а параметры передайте в params.
- Обязательные параметры:
  - playlist_id: ID плейлиста NetEase Cloud Music для действия playlist. Принимает числовой ID плейлиста или URL, содержащий playlist?id= или /playlist/ID. Этот параметр отличается от ID песен, и действие toplist его не использует.
- Необязательные параметры:
  - limit: Максимальное число записей в этом вызове, целое число от 1 до 100. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. (по умолчанию: 20)
- Возвращает список записей. Основные поля каждой записи: rank, track_id, track_name, track_alias, duration_ms, artists, artist_ids, album_id, album_name, album_cover_url, published_at, is_explicit; всего полей: 23, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=netease_music.
- Пример тела запроса:
{
  "platform": "netease_music",
  "action": "playlist",
  "params": {
    "playlist_id": "3778678"
  }
}
- Цена: $0.56 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.

Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
platformbodystringДаnetease_musicИдентификатор платформы, фиксированное значение.
actionbodystringДаplaylistИдентификатор возможности, фиксированное значение.
playlist_idbody.paramsstringДа-ID плейлиста NetEase Cloud Music для действия playlist. Принимает числовой ID плейлиста или URL, содержащий playlist?id= или /playlist/ID. Этот параметр отличается от ID песен, и действие toplist его не использует.
limitbody.paramsinteger (1–100)Нет20Максимальное число записей в этом вызове, целое число от 1 до 100. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 422 до списания средств.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "netease_music",
  "action": "playlist",
  "params": {
    "playlist_id": "3778678"
  }
}'

Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.

Пример ответа

Реальный ответ

Получено September 26, 2026 at 08:56 (UTC) вызовом этого API с параметрами из примера кода выше. results и count — реальный ответ этого вызова, из которого удалены персональные данные (имена, никнеймы, аватары, ссылки на профили, контакты); в списке оставлены первые 2. id, billing и quota меняются при каждом вызове, поэтому показана только их структура.

json
{
  "id": "req_…",
  "platform": "netease_music",
  "action": "playlist",
  "results": [
    {
      "rank": 1,
      "track_id": 3342319503,
      "track_name": "明知故犯",
      "duration_ms": 166416,
      "artists": "Max李玄",
      "artist_ids": "57539469",
      "album_id": 357748854,
      "album_name": "失温",
      "album_cover_url": "http://p3.music.126.net/H2DFRdwP2y5SuCAn-Tuikw==/109951172568091306.jpg",
      "is_explicit": false,
      "popularity_score": 100,
      "track_url": "https://music.163.com/song?id=3342319503",
      "playlist_id": 3778678,
      "playlist_name": "原创榜",
      "playlist_type": "toplist",
      "playlist_cover_url": "https://p4.music.126.net/0SUEG8yDACfx0Bw2MYFv4Q==/109951170048519512.jpg",
      "playlist_track_count": 200,
      "playlist_play_count": 14152643584,
      "playlist_subscribed_count": 13177436,
      "playlist_updated_at": "2026-09-26T00:30:24.072000+00:00",
      "snapshotted_at": "2026-09-26T09:57:42.809000+00:00",
      "platform": "netease_music"
    },
    {
      "rank": 2,
      "track_id": 1973665667,
      "track_name": "海屿你",
      "track_alias": "求你别离开我",
      "duration_ms": 295940,
      "artists": "马也_Crabbit",
      "artist_ids": "13288861",
      "album_id": 150006421,
      "album_name": "海屿你",
      "album_cover_url": "http://p3.music.126.net/Enhy6dPn4gpyqrKhVEQvgA==/109951170483249998.jpg",
      "published_at": "2022-08-19T16:00:00+00:00",
      "is_explicit": false,
      "popularity_score": 100,
      "track_url": "https://music.163.com/song?id=1973665667",
      "playlist_id": 3778678,
      "playlist_name": "原创榜",
      "playlist_type": "toplist",
      "playlist_cover_url": "https://p4.music.126.net/0SUEG8yDACfx0Bw2MYFv4Q==/109951170048519512.jpg",
      "playlist_track_count": 200,
      "playlist_play_count": 14152643584,
      "playlist_subscribed_count": 13177436,
      "playlist_updated_at": "2026-09-26T00:30:24.072000+00:00",
      "snapshotted_at": "2026-09-26T09:57:42.810000+00:00",
      "platform": "netease_music"
    }
  ],
  "count": 20,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.

ПолеЗначение
rankТрактуется так же, как на самой платформе
track_idТрактуется так же, как на самой платформе
track_nameТрактуется так же, как на самой платформе
track_aliasТрактуется так же, как на самой платформе
duration_msТрактуется так же, как на самой платформе
artistsТрактуется так же, как на самой платформе
artist_idsТрактуется так же, как на самой платформе
album_idТрактуется так же, как на самой платформе
album_nameТрактуется так же, как на самой платформе
album_cover_urlТрактуется так же, как на самой платформе
published_atТрактуется так же, как на самой платформе
is_explicitТрактуется так же, как на самой платформе
popularity_scoreТрактуется так же, как на самой платформе
track_urlТрактуется так же, как на самой платформе
playlist_idТрактуется так же, как на самой платформе
playlist_nameТрактуется так же, как на самой платформе
playlist_typeТрактуется так же, как на самой платформе
playlist_cover_urlТрактуется так же, как на самой платформе
playlist_track_countТрактуется так же, как на самой платформе
playlist_play_countТрактуется так же, как на самой платформе
playlist_subscribed_countТрактуется так же, как на самой платформе
playlist_updated_atТрактуется так же, как на самой платформе
snapshotted_atТрактуется так же, как на самой платформе
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

FAQ

Где найти playlist_id?

Откройте плейлист в браузере и посмотрите на ссылку: число после playlist?id= или после /playlist/ и есть ID. Можно передать это число или всю ссылку. Не передавайте ID песни: у песен и плейлистов отдельная нумерация, и по ID песни плейлист не найдётся.

popularity_score — это число прослушиваний?

Нет. Это собственный показатель популярности NetEase по шкале от 0 до 100, полезный для ранжирования треков в плейлисте относительно друг друга. Чтобы оценить внимание к самому плейлисту, смотрите playlist_play_count и playlist_subscribed_count — число пользователей, сохранивших его.

Как узнать, что слушатели пишут о треке?

Передайте track_id трека как ID песни в возможность NetEase Cloud Music Comments, которая также принимает ссылку на песню с song?id=. Комментарии можно получить только для одной песни за раз, и ID плейлиста там не может заменить ID песни.

Ошибки и оплата

401
Ключ отсутствует или недействителен.
402
Недостаточно средств на балансе. Сначала пополните баланс.
422
Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
429
Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
503
Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
200 (пусто)
Нет данных. Без списания.

Ошибки

Официальные источники

Используются только для проверки объектов и терминов. Они не означают, что платформа разрешила или одобрила работу EveryInfra.

  • NetEase Cloud Music: контейнеры чартов и внутренние ссылки на песни ↗

    Официальная страница чартов NetEase Cloud Music отделяет чарты от списков песен, и у каждого трека есть собственная ссылка `song?id=`. Здесь `playlist_id` указывает на плейлист или контейнер чарта, а `song_id` идентифицирует трек; страница чартов не означает полного охвата данных через API или их актуальности в реальном времени.

    Проверено 2026-09-04