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

API Lemmy Сообщество

POST

Состояние API

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

Читайте посты сообщества Lemmy по имени или в формате name@instance. Получайте рейтинг, голоса, число комментариев, ссылки и флаги поста; по умолчанию сортировка по популярности (hot). Одноимённые сообщества на других инстансах не объединяются. top_range применяется только при сортировке по top.

Lemmy Community выводит посты одного сообщества Lemmy, указанного в community. Каждая запись содержит заголовок и текст поста, внешнюю ссылку из него и заголовок этой ссылки, рейтинг, числа голосов «за» и «против» и комментариев, флаги контента для взрослых, запрета новых комментариев и закрепления, автора, а также время публикации и последнего редактирования. Исследователи, модераторы и команды проектов с открытым исходным кодом используют эту возможность, чтобы следить за тематическим сообществом в федеративной сети: отслеживать, чем делится техническое сообщество или сообщество по интересам, оценивать, какие ссылки и посты набирают голоса, или формировать выборку публикаций для исследования.

По умолчанию sort равен hot; new выводит самые новые посты, new_comments — посты с самой свежей активностью в комментариях, а top ранжирует посты по рейтингу за период top_range. score — это голоса «за» минус голоса «против», поэтому смотрите upvote_count и downvote_count, чтобы отличить общее одобрение от спорной оценки. is_locked отмечает посты, закрытые для новых комментариев, а is_featured — закреплённые посты.

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

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra Lemmy Сообщество (lemmy/community).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: lemmy и action: community, а параметры передайте в params.
- Обязательные параметры:
  - community: Название сообщества или межинстансовый идентификатор в формате name@instance. В действии community выводит публикации сообщества.
- Необязательные параметры:
  - instance: Выбирает домен инстанса Lemmy, например lemmy.world (он же используется по умолчанию). Полный URL инстанса тоже принимается, но сокращается до имени хоста. Определяет точку входа для запроса, а не название сообщества.
  - sort: Сортирует публикации: hot, active, new, top, most_comments или new_comments. По умолчанию используется hot для search и community, active для feed и most_comments для comments. (допустимые значения: active / hot / most_comments / new / new_comments / top)
  - top_range: Задаёт период подсчёта рейтинга, только если sort равен top: hour, sixhour, twelvehour, day, week (по умолчанию), month, threemonths, sixmonths, ninemonths, year или all. Это не фильтр по дате публикации комментариев. (допустимые значения: all / day / hour / month / ninemonths / sixhour / sixmonths / threemonths)
  - limit: Максимальное число записей в этом вызове, целое число от 1 до 200. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. (по умолчанию: 20)
- Возвращает список записей. Основные поля каждой записи: id, title, body, url, external_url, community, community_url, instance, author_username, author_url, score, upvote_count; всего полей: 21, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=lemmy.
- Пример тела запроса:
{
  "platform": "lemmy",
  "action": "community",
  "params": {
    "community": "technology@lemmy.world"
  }
}
- Цена: $1.39 за 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ДаlemmyИдентификатор платформы, фиксированное значение.
actionbodystringДаcommunityИдентификатор возможности, фиксированное значение.
communitybody.paramsstringДа-Название сообщества или межинстансовый идентификатор в формате name@instance. В действии community выводит публикации сообщества; в действии comments получает публикации сообщества и раскрывает их комментарии, а не запрашивает напрямую URL одной публикации.
instancebody.paramsstringНет-Выбирает домен инстанса Lemmy, например lemmy.world (он же используется по умолчанию). Полный URL инстанса тоже принимается, но сокращается до имени хоста. Определяет точку входа для запроса, а не название сообщества.
sortbody.paramsstring (enum)Нет-Сортирует публикации: hot, active, new, top, most_comments или new_comments. По умолчанию используется hot для search и community, active для feed и most_comments для comments.Допустимые значенияactivehotmost_commentsnewnew_commentstop
top_rangebody.paramsstring (enum)Нет-Задаёт период подсчёта рейтинга, только если sort равен top: hour, sixhour, twelvehour, day, week (по умолчанию), month, threemonths, sixmonths, ninemonths, year или all. Это не фильтр по дате публикации комментариев.Допустимые значенияalldayhourmonthninemonthssixhoursixmonthsthreemonthstwelvehourweekyear
limitbody.paramsinteger (1–200)Нет20Максимальное число записей в этом вызове, целое число от 1 до 200. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 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": "lemmy",
  "action": "community",
  "params": {
    "community": "technology@lemmy.world"
  }
}'

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

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

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

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

json
{
  "id": "req_…",
  "platform": "lemmy",
  "action": "community",
  "results": [
    {
      "id": "73849259",
      "title": "I don't like passkeys | Ethan Hawksley",
      "body": "",
      "url": "https://reddthat.com/post/73849259",
      "external_url": "https://hawksley.dev/blog/i-dont-like-passkeys",
      "community": "technology",
      "community_url": "https://lemmy.world/c/technology",
      "instance": "lemmy.world",
      "author_username": "•••",
      "author_url": "https://reddthat.com/•••",
      "score": 43,
      "upvote_count": 43,
      "downvote_count": 0,
      "comment_count": 13,
      "thumbnail_url": "https://lemmy.world/pictrs/image/ff83aff0-6ad8-4dac-93d6-3bc95e681b92.jpeg",
      "embed_title": "I don't like passkeys | Ethan Hawksley",
      "is_nsfw": false,
      "is_locked": false,
      "is_featured": false,
      "posted_at": "2026-09-26T07:42:38.916014+00:00",
      "platform": "lemmy"
    },
    {
      "id": "73847026",
      "title": "A German ISP tampered with their DNS - specifically to sabotage my website (lina.sh)",
      "body": "a year old, but interesting to read",
      "url": "https://reddthat.com/post/73847026",
      "external_url": "https://lina.sh/blog/telefonica-sabotages-me",
      "community": "technology",
      "community_url": "https://lemmy.world/c/technology",
      "instance": "lemmy.world",
      "author_username": "•••",
      "author_url": "https://reddthat.com/•••",
      "score": 107,
      "upvote_count": 107,
      "downvote_count": 0,
      "comment_count": 2,
      "thumbnail_url": "https://lemmy.world/pictrs/image/84c73d7d-3d66-482e-bd62-514e1d5c3970.png",
      "embed_title": "A German ISP tampered with their DNS - specifically to sabotage my website",
      "is_nsfw": false,
      "is_locked": false,
      "is_featured": false,
      "posted_at": "2026-09-26T06:28:03.315923+00:00",
      "platform": "lemmy"
    }
  ],
  "count": 20,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

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

ПолеЗначение
idУникальный ID записи на платформе. Уникален только в пределах одной платформы; на разных платформах ID могут повторяться.
titleЗаголовок. null, если на платформе нет заголовков (например, у текстовых постов).
bodyТрактуется так же, как на самой платформе
urlСсылка на запись на платформе.
external_urlТрактуется так же, как на самой платформе
communityТрактуется так же, как на самой платформе
community_urlТрактуется так же, как на самой платформе
instanceТрактуется так же, как на самой платформе
author_usernameИмя пользователя автора (@handle), обычно подходит для URL.
author_urlСсылка на профиль автора на платформе.
scoreТрактуется так же, как на самой платформе
upvote_countТрактуется так же, как на самой платформе
downvote_countТрактуется так же, как на самой платформе
comment_countКомментарии. null означает, что значение не раскрыто, а не 0.
thumbnail_urlСсылка на миниатюру с более низким разрешением, чем у image_url.
embed_titleТрактуется так же, как на самой платформе
is_nsfwТрактуется так же, как на самой платформе
is_lockedТрактуется так же, как на самой платформе
is_featuredТрактуется так же, как на самой платформе
posted_atВремя публикации в ISO 8601, UTC (например, 2026-08-07T12:34:56+00:00). Нестандартные строки платформы передаются как есть, поэтому учитывайте это при разборе. null означает, что платформа его не раскрывает.
updated_atТрактуется так же, как на самой платформе
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

FAQ

Как прочитать посты сообщества Lemmy?

Передайте название сообщества в community в формате name@instance, чтобы точно указать сервер, на котором оно находится, например technology@lemmy.world. Lemmy — федеративная сеть, поэтому сообщества с одинаковым названием могут существовать на разных инстансах. Можно также задать в instance домен сервера; по умолчанию это lemmy.world. Полный URL инстанса тоже подойдёт, поскольку из него сохраняется только имя хоста.

Что делает top_range?

Задаёт период подсчёта рейтинга, когда sort равен top: от hour до year (по умолчанию week) или all — за всё время. Параметр действует только при sort, равном top, и не фильтрует по времени публикации комментариев.

Чем это отличается от Lemmy Comments?

Community возвращает посты сообщества. Возможность Lemmy Comments принимает то же значение community, читает посты этого сообщества и загружает комментарии к ним. Ни одна из этих возможностей не ищет отдельный пост по URL, поэтому начинайте с сообщества, к которому относится пост.

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

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

Ошибки

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

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

  • Lemmy: идентификаторы сообществ и доступ с других инстансов ↗

    Официальные руководства приводят URL сообществ и формат идентификатора !name@instance и различают локальные и федеративные сообщества. В EveryInfra этот параметр задаётся как name или name@instance; префикс ! и форматы URL из официального интерфейса этот API автоматически не поддерживает.

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