[DEPRECATED - DO NOT USE] facebook-poster - risk of account ban avatar

[DEPRECATED - DO NOT USE] facebook-poster - risk of account ban

Deprecated

Pricing

$350.00 / 1,000 facebook post shareds

Go to Apify Store
[DEPRECATED - DO NOT USE] facebook-poster - risk of account ban

[DEPRECATED - DO NOT USE] facebook-poster - risk of account ban

Deprecated

DEPRECATED 2026-05-13: Posts to Facebook carry significant risk of Meta auto-banning user accounts. Use viralanalyzer/facebook-ads-library (read-only, no risk).

Pricing

$350.00 / 1,000 facebook post shareds

Rating

0.0

(0)

Developer

viralanalyzer

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

17 days ago

Last modified

Share

📘 Facebook Page Poster — Publish Images, Videos & Text to Facebook Pages

🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português

Publish posts to your own Facebook Page — image, video, or text-only — via real browser automation (Playwright + stealth). This is a Bring-Your-Own-Credentials (BYOC) actor: you supply your Facebook session (cookies) or login, and it posts as your Page. It mirrors the human flow Facebook expects: open the composer, upload media, type the caption, advance through the post settings, and click Postar/Post.

✨ Features

  • 🖼️ Image posts — From a public URL or inline Base64
  • 🎬 Video posts — MP4 from a public URL or inline Base64 (handled as a reel-style flow)
  • 📝 Text posts — Caption-only publishing (no media required)
  • 🏷️ Hashtags — Appended to the caption, plus typed into the video "Add tags" field for engagement
  • 🔐 BYOC auth — Use exported session cookies (login skipped) or username + password
  • ♻️ Session reuse — Cookies are saved and reloaded across runs to reduce re-logins
  • 🥷 Stealth browser — Playwright Chromium with anti-automation flags, randomized viewport, pt-BR locale
  • 🌍 Residential proxy — Choose a proxy country, or disable proxy entirely
  • 🧪 Dry run — Validate the whole flow and capture proof screenshots without publishing
  • 📸 Proof screenshots — Every step is captured to the Key-Value Store for auditability
  • 🛡️ Setup guide on missing input — Missing credentials or content end with a labeled diagnostic (never charges you)

📥 Input

This actor reads its input from the run input object. There are no strictly required fields in the schema, but to actually publish you need (a) credentials and (b) something to post.

ParameterTypeRequiredDefaultDescription
usernamestring (secret)⚠️ *Facebook login email or phone
passwordstring (secret)⚠️ *Facebook password
cookiesstring (secret)⚠️ *Browser cookies as a JSON array. If valid, login is skipped
pageUrlstringURL of the Facebook Page to post to
captionstring⚠️ **Post text
hashtagsstring[][]Hashtags appended to the caption (and typed as video tags)
imageUrlstring⚠️ **Public URL of an image to post
imageBase64string⚠️ **Base64-encoded image data
videoUrlstring⚠️ **Public URL of a video to post (MP4)
videoBase64string⚠️ **Base64-encoded video data (MP4)
proxyCountrystring"US"Residential proxy country code. Use "NONE" to run without a proxy
dryRunbooleanfalseValidate and capture proof without publishing

⚠️ * Credentials: you must provide either cookies or username (with password). If both are missing, the run ends with a setup guide and does not charge.

⚠️ ** Content: you must provide at least one of caption, imageUrl, imageBase64, or videoUrl. If all are empty, the run ends with a setup guide and does not charge.

Input Example

{
"cookies": "[{\"name\":\"c_user\",\"value\":\"...\",\"domain\":\".facebook.com\",\"path\":\"/\"}]",
"pageUrl": "https://www.facebook.com/YourPageName",
"caption": "Check out our new launch!",
"hashtags": ["launch", "newproduct"],
"imageUrl": "https://example.com/banner.jpg",
"proxyCountry": "US",
"dryRun": false
}

📤 Output

This actor writes its result to the Key-Value Store under the key result (not to a dataset of records). It also pushes a single diagnostic item when input is missing.

result object (in the Key-Value Store)

FieldTypeDescription
successbooleanWhether the post (or dry run) succeeded
platformstringAlways "facebook"
captionstringFirst 100 chars of the published caption (on success)
proofstringReference to the final proof screenshot captured
dryRunbooleantrue when run in dry-run mode
errorstringError message (only present on failure)

Success result example

{
"success": true,
"platform": "facebook",
"caption": "Check out our new launch! #launch #newproduct",
"proof": "facebook-12-POSTED-final",
"dryRun": false
}

Diagnostic item (missing input)

If credentials or content are missing, the actor succeeds and pushes a single labeled guide instead of charging:

{
"setup_status": "DIAGNOSTIC_GUIDE",
"_dataQuality": "diagnostic",
"message": "[DIAGNÓSTICO] No Facebook credentials provided (BYOC).",
"potential_causes": ["..."],
"remediations": ["..."],
"scrapedAt": "2026-06-06T12:00:00.000Z"
}

Proof screenshots (Key-Value Store)

Screenshots are saved at each step (01-first-page, 02-spa-rendered, 04-media-uploaded, 07-caption-typed, 10-before-postar, 12-POSTED-final, and on error 99-ERROR) for auditability.

📋 Use Cases

  • Page content automation — Publish marketing posts to your Facebook Page programmatically
  • Cross-posting — Push the same image/video/caption you publish elsewhere to Facebook
  • Campaign launches — Fire off promotional posts with hashtags inside a larger workflow
  • Affiliate & e-commerce — Publish product images with descriptive captions
  • Content pipelines — Use as the final "publish" step after an AI media generation actor
  • Reel-style video posts — Upload MP4 videos with tags for higher discoverability
  • Dry-run validation — Test the full login + composer flow before going live

❓ FAQ

Q: Is this a scraper? A: No. This is a poster — it publishes content to your own Facebook Page. It does not extract data from Facebook.

Q: How do I authenticate? A: Provide your exported Facebook session cookies as a JSON array (recommended — login is skipped), or provide username + password. Cookies and credentials are marked secret in the input schema.

Q: Do I need a Facebook API or developer app? A: No. The actor drives a real Chromium browser via Playwright, so it works without the Graph API or an app review.

Q: What media formats are supported? A: Images (via imageUrl or imageBase64) and MP4 videos (via videoUrl or videoBase64). You can also post text only with just a caption.

Q: What does the proxy setting do? A: proxyCountry selects an Apify residential proxy country (default US). Set it to "NONE" to run without any proxy.

Q: What is dry run? A: With dryRun: true, the actor performs login, opens the composer, and captures proof screenshots, but does not publish — useful for validating credentials and flow.

Q: Will I be charged if my setup is incomplete? A: No. If credentials or content are missing, the run ends with a diagnostic setup guide and the Pay-Per-Event charge is not triggered.

Q: Why does posting use browser automation instead of an API? A: Facebook's Page composer flow (switch-to-Page, upload, advance, post) is best reproduced through the UI for reliable image/video/reel publishing without app-review friction.

💰 Pricing

This actor uses Pay Per Event (PPE) pricing. You are charged once per successful post.

See current pricing on the Apify Store page: 👉 https://apify.com/viralanalyzer/facebook-poster

The actor owner is exempt from charges (owner-skip), and diagnostic / setup-guide runs are never charged.

📝 Changelog

v2.0 (Current)

  • ✅ Inline composer flow (removed obsolete [role="dialog"]-only selectors)
  • ✅ 4096 MB memory for Facebook's heavy SPA
  • ✅ Image, video, and text-only posting (URL or Base64)
  • ✅ Switch-to-Page context handling ("Mudar agora" / "Switch Now")
  • ✅ Robust media upload via "Foto/vídeo" + file chooser, with composer fallback
  • ✅ Hashtag autocomplete dismissal without closing the dialog (no Escape)
  • ✅ Video "Add tags" step for engagement (2× "Avançar" flow)
  • ✅ "Agora não" / "Not Now" popup dismissal after posting
  • ✅ Session cookie save/reload across runs
  • ✅ Residential proxy with country selection (or NONE)
  • ✅ Dry-run mode with proof screenshots
  • ✅ UAG-SG setup guide on missing credentials/content (no charge)
  • ✅ Pay-Per-Event billing with owner-skip

📘 Facebook Page Poster — Publique Imagens, Vídeos e Texto em Páginas do Facebook

🇺🇸 English | 🇧🇷 Português

Publique posts na sua própria Página do Facebook — imagem, vídeo ou apenas texto — via automação real de navegador (Playwright + stealth). Este é um actor Bring-Your-Own-Credentials (BYOC): você fornece sua sessão do Facebook (cookies) ou login, e ele posta como sua Página. Ele reproduz o fluxo humano que o Facebook espera: abrir o compositor, enviar a mídia, digitar a legenda, avançar pelas configurações e clicar em Postar.

✨ Funcionalidades

  • 🖼️ Posts de imagem — A partir de URL pública ou Base64 inline
  • 🎬 Posts de vídeo — MP4 de URL pública ou Base64 inline (fluxo estilo reel)
  • 📝 Posts de texto — Publicação somente com legenda (sem mídia)
  • 🏷️ Hashtags — Anexadas à legenda e digitadas no campo "Adicionar tags" de vídeo
  • 🔐 Autenticação BYOC — Use cookies de sessão exportados (login pulado) ou usuário + senha
  • ♻️ Reuso de sessão — Cookies são salvos e recarregados entre execuções para reduzir re-logins
  • 🥷 Navegador stealth — Playwright Chromium com flags anti-automação, viewport aleatório, locale pt-BR
  • 🌍 Proxy residencial — Escolha o país do proxy ou desative o proxy totalmente
  • 🧪 Dry run — Valide todo o fluxo e capture prints sem publicar
  • 📸 Prints de prova — Cada etapa é capturada no Key-Value Store para auditoria
  • 🛡️ Guia de configuração — Credenciais ou conteúdo ausentes terminam com diagnóstico rotulado (sem cobrança)

📥 Entrada

O actor lê sua entrada do objeto de input da execução. Não há campos estritamente obrigatórios no schema, mas para publicar você precisa de (a) credenciais e (b) algo para postar.

ParâmetroTipoObrigatórioPadrãoDescrição
usernamestring (secreto)⚠️ *E-mail ou telefone de login do Facebook
passwordstring (secreto)⚠️ *Senha do Facebook
cookiesstring (secreto)⚠️ *Cookies do navegador como array JSON. Se válidos, o login é pulado
pageUrlstringURL da Página do Facebook para postar
captionstring⚠️ **Texto do post
hashtagsstring[][]Hashtags anexadas à legenda (e digitadas como tags de vídeo)
imageUrlstring⚠️ **URL pública de uma imagem para postar
imageBase64string⚠️ **Dados de imagem em Base64
videoUrlstring⚠️ **URL pública de um vídeo para postar (MP4)
videoBase64string⚠️ **Dados de vídeo em Base64 (MP4)
proxyCountrystring"US"Código de país do proxy residencial. Use "NONE" para rodar sem proxy
dryRunbooleanfalseValidar e capturar prova sem publicar

⚠️ * Credenciais: forneça ou cookies ou username (com password). Se ambos faltarem, a execução termina com um guia de configuração e não cobra.

⚠️ ** Conteúdo: forneça pelo menos um entre caption, imageUrl, imageBase64 ou videoUrl. Se todos estiverem vazios, a execução termina com um guia de configuração e não cobra.

Exemplo de Entrada

{
"cookies": "[{\"name\":\"c_user\",\"value\":\"...\",\"domain\":\".facebook.com\",\"path\":\"/\"}]",
"pageUrl": "https://www.facebook.com/SuaPagina",
"caption": "Confira nosso novo lançamento!",
"hashtags": ["lancamento", "novoproduto"],
"imageUrl": "https://example.com/banner.jpg",
"proxyCountry": "US",
"dryRun": false
}

📤 Saída

O actor grava o resultado no Key-Value Store sob a chave result (não em um dataset de registros). Ele também envia um único item de diagnóstico quando a entrada está incompleta.

Objeto result (no Key-Value Store)

CampoTipoDescrição
successbooleanSe o post (ou dry run) teve sucesso
platformstringSempre "facebook"
captionstringPrimeiros 100 caracteres da legenda publicada (no sucesso)
proofstringReferência ao print de prova final capturado
dryRunbooleantrue quando em modo dry run
errorstringMensagem de erro (presente apenas em falha)

Exemplo de resultado de sucesso

{
"success": true,
"platform": "facebook",
"caption": "Confira nosso novo lançamento! #lancamento #novoproduto",
"proof": "facebook-12-POSTED-final",
"dryRun": false
}

Item de diagnóstico (entrada ausente)

Se credenciais ou conteúdo faltarem, o actor tem sucesso e envia um único guia rotulado em vez de cobrar:

{
"setup_status": "DIAGNOSTIC_GUIDE",
"_dataQuality": "diagnostic",
"message": "[DIAGNÓSTICO] No Facebook credentials provided (BYOC).",
"potential_causes": ["..."],
"remediations": ["..."],
"scrapedAt": "2026-06-06T12:00:00.000Z"
}

Prints de prova (Key-Value Store)

Prints são salvos em cada etapa (01-first-page, 02-spa-rendered, 04-media-uploaded, 07-caption-typed, 10-before-postar, 12-POSTED-final e, em erro, 99-ERROR) para auditoria.

📋 Casos de Uso

  • Automação de conteúdo da Página — Publique posts de marketing na sua Página programaticamente
  • Cross-posting — Publique no Facebook a mesma imagem/vídeo/legenda usada em outros canais
  • Lançamentos de campanha — Dispare posts promocionais com hashtags dentro de um fluxo maior
  • Afiliados & e-commerce — Publique imagens de produtos com legendas descritivas
  • Pipelines de conteúdo — Use como etapa final de "publicar" após um actor de geração de mídia por IA
  • Posts de vídeo estilo reel — Envie vídeos MP4 com tags para maior alcance
  • Validação dry-run — Teste o fluxo completo de login + compositor antes de publicar

❓ Perguntas Frequentes

P: Isto é um scraper? R: Não. É um poster — publica conteúdo na sua própria Página do Facebook. Não extrai dados do Facebook.

P: Como faço a autenticação? R: Forneça seus cookies de sessão do Facebook como array JSON (recomendado — pula o login), ou forneça usuário + senha. Cookies e credenciais são marcados como secretos no schema de entrada.

P: Preciso de uma API ou app de desenvolvedor do Facebook? R: Não. O actor controla um navegador Chromium real via Playwright, então funciona sem a Graph API ou revisão de app.

P: Quais formatos de mídia são suportados? R: Imagens (via imageUrl ou imageBase64) e vídeos MP4 (via videoUrl ou videoBase64). Você também pode postar apenas texto com só a caption.

P: O que faz a configuração de proxy? R: proxyCountry seleciona o país de um proxy residencial da Apify (padrão US). Defina como "NONE" para rodar sem proxy.

P: O que é dry run? R: Com dryRun: true, o actor faz login, abre o compositor e captura prints de prova, mas não publica — útil para validar credenciais e fluxo.

P: Serei cobrado se minha configuração estiver incompleta? R: Não. Se credenciais ou conteúdo faltarem, a execução termina com um guia de configuração e a cobrança Pay-Per-Event não é acionada.

P: Por que postar via automação de navegador em vez de API? R: O fluxo do compositor de Página do Facebook (trocar-para-Página, upload, avançar, postar) é melhor reproduzido pela interface para publicação confiável de imagem/vídeo/reel sem atrito de revisão de app.

💰 Preços

Este actor usa precificação Pay Per Event (PPE). Você é cobrado uma vez por post bem-sucedido.

Veja o preço atual na página da Apify Store: 👉 https://apify.com/viralanalyzer/facebook-poster

O dono do actor é isento de cobrança (owner-skip), e execuções de diagnóstico / guia de configuração nunca são cobradas.

🔗 Actors Relacionados

📝 Changelog

v2.0 (Atual)

  • ✅ Fluxo de compositor inline (removidos seletores obsoletos só de [role="dialog"])
  • ✅ Memória de 4096 MB para a SPA pesada do Facebook
  • ✅ Postagem de imagem, vídeo e somente texto (URL ou Base64)
  • ✅ Troca para contexto de Página ("Mudar agora" / "Switch Now")
  • ✅ Upload robusto de mídia via "Foto/vídeo" + file chooser, com fallback no compositor
  • ✅ Dispensa do autocomplete de hashtag sem fechar o diálogo (sem Escape)
  • ✅ Etapa "Adicionar tags" de vídeo para engajamento (fluxo de 2× "Avançar")
  • ✅ Dispensa do popup "Agora não" / "Not Now" após postar
  • ✅ Salvamento/recarga de cookies de sessão entre execuções
  • ✅ Proxy residencial com seleção de país (ou NONE)
  • ✅ Modo dry-run com prints de prova
  • ✅ Guia de configuração UAG-SG em credenciais/conteúdo ausentes (sem cobrança)
  • ✅ Cobrança Pay-Per-Event com owner-skip