Zalo Official Account Scraper — OA Profiles & QR Pages avatar

Zalo Official Account Scraper — OA Profiles & QR Pages

Pricing

from $1.99 / 1,000 zalo oa results

Go to Apify Store
Zalo Official Account Scraper — OA Profiles & QR Pages

Zalo Official Account Scraper — OA Profiles & QR Pages

Scrape public Zalo Official Account pages: OA ID, name, avatar, verified flag, category, address, working hours, and QR image. No login, no QR session. Export JSON via Python, Node.js, or MCP.

Pricing

from $1.99 / 1,000 zalo oa results

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Disclaimer: Independent tool for publicly accessible Zalo Official Account landing pages on zalo.me. Zalo and related marks are trademarks of VNG Corporation. Not affiliated with, sponsored by, or endorsed by Zalo or VNG. Does not log into Zalo, does not scan a QR session, and does not read private chats, contacts, or group members. For research, lead enrichment, and brand-monitoring of public OA pages only. Respect applicable terms of use and law.

Zalo scraper for public Official Accounts (OA) — a practical Zalo API alternative that needs no login and no QR code. Look up zalo.me/{oaId} or a custom OA slug and export OA ID, name, avatar, verified flag, category, address, working hours, and QR image URL as JSON, CSV, or Excel. Scrape Zalo OA pages with Python, Node.js, cURL, or Apify MCP / AI assistants.

This Actor reads the same public landing payload a logged-out browser sees. It is a Zalo OA scraper and a Zalo Official Account profile extractor, not a personal-chat exporter.

When to use this Actor

  • You need a Zalo scraper / Zalo API alternative for Official Account profile fields
  • You have zalo.me OA URLs, numeric OA IDs, or custom OA slugs
  • You want verified status, category, address, hours, avatar, and QR in a dataset
  • You scrape Zalo with Python, Node.js, or MCP and export JSON

When not to use this Actor

  • Private chats, contacts, group members, or message history — those are not on public OA pages (and require a logged-in Zalo account)
  • Personal zalo.me/{phone} profiles — Zalo redirects those to login
  • Group invite links (zalo.me/g/…) — not public on the web
  • OA posts, articles, shop SKUs, or follower lists — not exposed on the logged-out landing page

Key features

  • Public OA landing pages — numeric IDs and custom slugs
  • Stable OA ID plus name, description, avatar, QR image
  • Verified flag, category (vi/en), tier, address, working hours
  • Clear statusespublic, login_required, not_found, invalid, error (a login redirect is not treated as a profile)
  • HTTP only — Chrome TLS via curl_cffi, 256–512 MB, no Playwright, no QR login
  • MCP / AI ready — call from assistants via Apify MCP

Use cases

Use caseWhat you get
Brand / OA directoryCanonical OA ID, name, verified flag, category
Store / branch cardsPublic address + working hours when the OA publishes them
QR / deep-link opsQR image URL + message argv for the public OA
CRM enrichmentStructured OA rows from a list of zalo.me links

Input

FieldTypeDescription
startUrlsarrayPublic zalo.me/… OA URLs
oaIdsarrayNumeric Official Account IDs
slugsarrayCustom OA URL slugs
oaTextstringPaste mixed IDs / slugs / URLs
maxItemsintegerDataset cap (default 100)
concurrencyintegerParallel fetches (default 5)
proxyConfigurationobjectOptional Apify Proxy
{
"startUrls": [{ "url": "https://zalo.me/officialaccount" }],
"oaIds": ["4462152339089565647"],
"maxItems": 20,
"proxyConfiguration": { "useApifyProxy": false }
}

Output

FieldDescription
statuspublic / login_required / not_found / invalid / error
oaIdNumeric Official Account ID
slugCustom URL slug when present
namePublic OA name
descriptionPublic bio
avatarUrlAvatar image
qrCodeUrlPublic QR image
isVerifiedVerification flag
category / categoryEnOA category
address / workingHoursPublic location card
canonicalUrlhttps://zalo.me/{oaId}
{
"type": "oa",
"status": "public",
"oaId": "4462152339089565647",
"slug": "officialaccount",
"name": "Zalo Official Account",
"isVerified": true,
"category": "VNG",
"address": "Z06 Duong so 13, Phuong Tan Thuan, Thanh pho Ho Chi Minh",
"workingHours": "08:00 - 18:00",
"canonicalUrl": "https://zalo.me/4462152339089565647"
}

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/zalo-scraper').call({
startUrls: [{ url: 'https://zalo.me/officialaccount' }],
maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("crawloop/zalo-scraper").call(
run_input={
"startUrls": [{"url": "https://zalo.me/officialaccount"}],
"maxItems": 10,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/crawloop~zalo-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://zalo.me/officialaccount"}],"maxItems":10}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name.

Example prompts:

  • "Run Zalo Official Account Scraper for https://zalo.me/officialaccount and return the OA ID, verified flag, and address as JSON"
  • "Scrape these Zalo OA IDs with Zalo Official Account Scraper and summarize name, category, and working hours"
  • "Look up custom Zalo OA slugs and list which ones are public vs login_required"

FAQ

Is this a Zalo chat exporter?
No. It only reads public Official Account landing pages. Chats, contacts, and group rosters need a logged-in Zalo account and are out of scope.

Why did I get login_required?
That URL is not a public OA page (personal profile, group invite, or unknown slug). Zalo sent the browser to the login wall.

Do I need a Zalo developer token?
No. This is a page scraper, not the official OA Open API.

Does it scrape OA posts?
Not in v1. The logged-out landing page exposes profile + QR fields, not the post feed.