saveapi.org

API для скачивания 9GAG

Ссылка 9GAG превращается в файлы с СОБСТВЕННОГО CDN поста — ни логина, ни кук. Пост-картинка отдаёт JPEG 700px, анимированный — MP4 (H.264); это максимальный размер, который публикует 9GAG, никакого HD-оригинала за ним нет. Длинные посты состоят из нескольких медиа-блоков и возвращаются альбомом в том порядке, в каком их использует статья, а текстовая часть — в meta.text. Прямая ссылка на CDN (img-9gag-fun.9cache.com/photo/…) тоже принимается — пост за ней находится сам.

видеоизображениеGET /v1/9gag1.5 кредита

Какие ссылки принимаем

Любая ссылка на публичный пост с этих хостов. Короткие ссылки и страновые зеркала раскрываются автоматически.

Хосты

9gag.com · 9cache.com

Запрос

curl -s "https://api.saveapi.org/v1/9gag" \
  -H "Authorization: Bearer sk_live_xxxx" \
  -G --data-urlencode "url=https://9gag.com/gag/aD2B3LZ"

Ответ

{
  "success": true,
  "platform": "9gag",
  "type": "video",
  "medias": [
    { "type": "video", "url": "https://…", "ext": "mp4" },
    { "type": "image", "url": "https://…", "ext": "jpg" }
  ],
  "meta": { "title": "…", "author": "…", "thumbnail": "https://…" },
  "credits": { "spent": 1.5, "remaining": 99988.5 }
}

Вопросы перед началом

Можно ли получить файл крупнее 700px?
Нет. 700px для картинок и 460px для анимаций в MP4 — это всё, что публикует CDN 9GAG. Более крупные варианты проверялись и отдают 404, так что в ответе приходит самый большой существующий файл.
Как возвращается длинный пост?
Альбомом: в medias[] лежит каждый медиа-блок в том порядке, в каком его использует статья, а текстовая часть — в meta.text. Если блоки длинного поста — только цитаты твитов или YouTube-вставка, собственного файла у него нет: придёт 404, и он обойдётся в 0.1 кредита.
А если сам пост — это видео с YouTube?
Придёт 404 с пояснением, что видео размещено на YouTube. Для таких постов 9GAG не хранит файла; передайте ссылку на YouTube из сообщения в /v1/youtube/info.

Другие платформы

Получить ключ и попробоватьПолный справочник API