The feed index: RSS, Atom and JSON feeds, OPML reading lists and sites that only become a feed through a bridge.

Find feeds by text, format, language and availability. Filter and text search run in the SAME full-text query: values inside one parameter are OR'd, different parameters are AND'd. Without q the order is by newest in the index (recentes) and next_cursor is a keyset — follow next to walk everything. With q the order is relevance and paging is by offset. We index and link; the feeds belong to whoever publishes them. Returns: { items[{id,kind,dominio,url,nome,descricao,tipo,audio,video,comunidade,comunidades,ano,recursos,densidade,itens,saude,pais,site_titulo,site_descricao,site_nome,site_og,site_og_alt,site_cor,site_idioma,idioma_bandeira,icone,imagem,ultimo_post,posts_24h,posts_7d,posts_30d,posts_dias,posts_no_feed,posts_parcial,atividade_em,pagina,api}], limit, offset, next_cursor, next_offset, next, sort, api }

get/api/feeds

Request

  • Base URL: https://agentalog.com
  • URL: https://agentalog.com/api/feeds
  • Auth: none required

Query parameters

qstring

Free text over the feed name, its description and the domain. Every word must match; accents are ignored.

origem'index' | 'blogroll' | 'bridge'

Where the record comes from. Comma-separated values are OR'd.

tipo'rss2' | 'rss1' | 'atom' | 'json' | 'rss'

Feed format. Comma-separated values are OR'd.

midia'audio' | 'video'

Enclosures the feed carries — this is how you find podcasts and video feeds.

comunidade'fediverse' | 'indieweb' | 'mastodon' | 'friendica' | 'wordpress' | 'funkwhale' | 'blogroll'

Community the publisher belongs to, as the source's bitmask declares it.

recurso'content' | 'itunes' | 'podcast' | 'media' | 'slash' | 'wfw' | 'georss'

Namespace seen in the feed: content means the whole post travels in the feed, itunes/podcast mean podcast metadata, slash means comment counts.

lista'web' | 'catalogo' | 'planeta'

For OPML lists only: how the list presents itself.

anostring

Year of the newest item the crawler saw. 0 means the source never dated the content. It is a year, not a moving window: the value never drifts.

saude'ok' | 'erro' | 'sumiu'

What our own check saw: ok answered, erro refused or timed out, sumiu returned 404/410. A feed not checked yet matches none of them.

paisstring

ISO-3166 alpha-2 of the IP that serves the host, lowercase or uppercase, resolved in the same check.

dominiostring

Exact domain — the fastest way to ask whether a site has a feed.

idiomastring

Language of the site's home page, two or three letters: pt matches pt and pt-br.

imagem'1'

1 keeps only feeds whose site has a stored preview image (imagem is not empty) — the list that looks like a wall of link cards.

sort'recentes' | 'postando' | 'frequentes' | 'densidade' | 'dominio' | 'relevancia'

Result order. recentes is insertion in the index (what just arrived). postando is the newest post first, read from the feed itself (feeds without a dated post are left out). frequentes is most posts in the last 30 days first (same). densidade is how much item text discovery found — the closest thing to 'this feed has substance'. dominio is A–Z by site.

cursorstring

Opaque cursor from next_cursor (orders recentes, densidade and dominio). A cursor from another order restarts at the first page.

limitinteger

Feeds per page, 1–50.

offsetinteger

Offset, capped at 10000. Ignored when cursor is present.

Headers

X-API-Passstring

MAT-only private pass: mat_<32 random hex>_<64 random hex>. Generate and save before buying.

Idempotency-Keystring

Optional retry key, up to 80 ASCII characters; same read for five minutes.

Response

{ items[{id,kind,dominio,url,nome,descricao,tipo,audio,video,comunidade,comunidades,ano,recursos,densidade,itens,saude,pais,site_titulo,site_descricao,site_nome,site_og,site_og_alt,site_cor,site_idioma,idioma_bandeira,icone,imagem,ultimo_post,posts_24h,posts_7d,posts_30d,posts_dias,posts_no_feed,posts_parcial,atividade_em,pagina,api}], limit, offset, next_cursor, next_offset, next, sort, api }

limitinteger required

Page size applied.

offsetinteger required

Offset applied.

next_cursorstring nullable required

Opaque cursor of the next page for the orders without a text query. null when there is no more.

next_offsetinteger nullable required

Offset of the next page when the order is by relevance.

nextstring nullable required

Absolute URL of the next page, same filters.

sortstring required

Order actually applied.

apistring required

Absolute URL of this collection.

Changes

No recorded changes to this operation across all 1 revision of this API.