JS Module

Y2Insta Instagram Feed

Exibe o feed do Instagram de forma nativa via proxy PHP server-side, sem token de API, sem pacotes externos. Também suporta feed via JSON estático e o embed oficial do Meta por URL.

1. Como Funciona — Os 3 Modos

A Instagram Basic Display API foi desativada em dezembro de 2024. A oEmbed pública requer token desde 2020. Não existe mais acesso direto sem autenticação pelo browser. O Y2Insta resolve isso via proxy PHP server-side — seu servidor faz a requisição, o browser nunca toca diretamente no Instagram.

MODO 1 Proxy PHP

Coloque y2instagram.php no seu projeto. Informe y2insta-user. O PHP busca e cacheia por 1h. Cards nativos com imagem, legenda e stats.

MODO 2 JSON Estático

Você cria/atualiza um feed.json manualmente ou via cron. 100% confiável, sem depender do Instagram. Ideal para produção crítica.

MODO 3 Embed Oficial

URLs individuais de posts via y2insta-urls. Usa o embed.js do Instagram — carrega o card nativo completo por post.

2. Modo Proxy PHP — Feed Automático

A forma mais prática. Copie y2instagram.php para seu projeto, aponte o atributo y2insta-proxy e informe o username. O PHP busca no Instagram, salva em cache JSON e serve para o JS.

Passo 1 — Copie o proxy para seu projeto

O proxy cria automaticamente a pasta cache/instagram/ ao lado do arquivo PHP. Certifique-se que a pasta tem permissão de escrita (chmod 755) e que o PHP tem cURL habilitado.

Passo 2 — Use no HTML

Demo ao vivo

Feed real do @sanweb.dev via proxy PHP:

Resultado visual (mockup)

Grade de cards nativos com hover mostrando legenda e stats:

@nasa
NASA
98.3M seguidores

Hover em cada card revela a legenda + ❤ curtidas + 💬 comentários. Clique abre o post no Instagram.

Atributos do modo proxy

AtributoPadrãoDescrição
y2insta-user-Username do Instagram (sem @)
y2insta-proxy/dist/y2instagram.phpCaminho do proxy PHP no seu servidor
y2insta-limit12Máximo de posts a exibir (até 50)
y2insta-cols3Colunas da grade
y2insta-gap.4remEspaçamento entre os cards

API do proxy PHP

O proxy faz scraping do Instagram sem autenticação. Isso pode parar de funcionar se o Instagram bloquear seu IP ou mudar a estrutura interna. Nesse caso, use o Modo 2 (JSON estático) como fallback. Para ambientes críticos, prefira o JSON estático atualizado por cron.

3. Modo JSON Estático — 100% Confiável

Você mantém um arquivo feed.json com os dados dos posts. Pode ser atualizado manualmente, por um cron job ou por qualquer outro processo. Zero dependência do Instagram em tempo real.

Formato do JSON

Dica pro: combine o proxy PHP com um cron job. O PHP gera o JSON e salva em /data/instagram.json. O componente aponta para esse arquivo estático. Assim, se o Instagram bloquear a geração, o JSON antigo ainda serve o conteúdo.

4. Modo Embed Oficial — Posts Individuais por URL

Para incorporar posts específicos pelo link. Usa o embed.js do Instagram e renderiza o card nativo completo — avatar, foto, legenda, curtidas. Não precisa de proxy nem JSON.

@seu_perfil
Postagem original
Legenda do post aparece aqui...
@seu_perfil
Postagem original
Legenda do post aparece aqui...
@seu_perfil
Postagem original
Legenda do post aparece aqui...

Modo iframe — grade compacta

Modo iframe não carrega embed.js, mas pode ser bloqueado pelo navegador dependendo da configuração de cookies.

5. Comparativo dos Modos

Característica Proxy PHP JSON Estático Embed URL
Automático ✅ Sim ⚙️ Via cron ✅ Sim
Confiabilidade ⚠️ Pode ser bloqueado ✅ 100% ⚠️ Depende do Instagram
Velocidade ✅ Cache 1h ✅ Arquivo estático ⚠️ Carrega embed.js externo
Design customizável ✅ Cards Y2 nativos ✅ Cards Y2 nativos ❌ Layout do Instagram
Requer PHP ✅ Sim ❌ Não ❌ Não
Dados de perfil ✅ Nome, avatar, followers ✅ Se incluir no JSON ❌ Por post apenas

6. Quick Reference — Todos os Atributos

AtributoModoPadrãoDescrição
y2instatodos-Ativa Y2Insta no elemento
y2insta-userproxy-Username do Instagram (sem @)
y2insta-proxyproxy/dist/y2instagram.phpCaminho do proxy PHP
y2insta-jsonjson-URL do arquivo JSON estático
y2insta-limitproxy/json12Máximo de posts a renderizar
y2insta-urlsembed-URLs de posts separadas por vírgula
y2insta-modeembedembedembed ou iframe
y2insta-colstodos3Colunas da grade
y2insta-gaptodos.4remEspaçamento entre posts