
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Extract public Facebook page and profile details: followers, contact info, address, website, ratings, categories, and ad status.
Turn a list of Facebook page URLs into a clean spreadsheet of public details: name, category, followers, email, phone, address, website, ratings, creation date, and ad status. No login, no cookies, no browser to babysit. It pays only for the pages it saves, at $0.007 per page.
| Field | Key | Description |
|---|---|---|
| Facebook URLs | startUrls | Public page or profile URLs. This is the list that gets scraped. |
| Maximum pages | resultsLimit | How many of those URLs to open. Default 10. |
| Minimum followers | minFollowers | Skip pages with fewer followers than this. |
| Include personal profiles | includeProfiles | When on, public personal profiles are returned too. Default on. |
| Proxy configuration | proxyConfiguration | Datacenter by default. Switch to residential if a page only loads from a residential IP. |
{
"startUrls": [
{ "url": "https://www.facebook.com/copperkettleyqr/" },
{ "url": "https://www.facebook.com/NASA" }
],
"resultsLimit": 10,
"includeProfiles": true,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": ["DATACENTER"]
}
}
Coming from another Facebook pages scraper? Page URLs can be pasted into Facebook URLs without other changes.
Each dataset row is one page or profile. Fields the page does not publish are left out or empty.
| Field | Description |
|---|---|
title, pageName, pageId | Display name, URL handle, and numeric id |
categories, category, intro | Page type, Facebook category, and short introduction |
followers, followings, likes | Counts from the public page (likes is often 0 now) |
email, phone, address | Public contact details |
website, websites | Primary website and every listed website |
rating | Recommendation summary, such as 94% recommend (201 reviews) |
creation_date | Date the page was created |
ad_status, pageAdLibrary | Whether the page is running ads, plus its Ad Library id |
confirmed_owner | Verified owner label when Facebook shows one |
profilePictureUrl, coverPhotoUrl | Image URLs |
Example item (trimmed):
{
"facebookUrl": "https://www.facebook.com/NASA",
"title": "NASA - National Aeronautics and Space Administration",
"pageId": "100044561550831",
"pageName": "NASA",
"intro": "Explore the universe and discover our home planet.",
"followers": 28716066,
"followings": 52,
"email": "public-inquiries@hq.nasa.gov",
"creation_date": "March 4, 2009",
"ad_status": "This Page isn't currently running ads.",
"confirmed_owner": "NATIONAL AERONAUTICS AND SPACE ADMINISTRATION is responsible for this Page.",
"categories": ["Page", "Government organization"],
"websites": ["http://www.nasa.gov/", "https://www.nasa.gov/nasa-app/"],
"website": "https://www.nasa.gov/nasa-app/"
}
Personal profiles add biography fields such as work, education, current_city, hometown, and relationship when those are public.
$0.007 per page saved ($7 per 1,000 pages). Platform usage (compute and proxy traffic) is billed on top at the standard rates: compute $0.30 per GB-hour, datacenter proxy $1 per GB, residential proxy $2 per GB.
Worked example: 10 pages cost 10 × $0.007 = $0.07 in page fees. In our measured run, compute, datacenter proxy, and storage added about $0.012, so the whole job came to about $0.082.
The actor only reads data that Facebook shows to anyone without logging in. You are responsible for using it in line with Facebook's terms and privacy laws such as GDPR, especially for personal profiles.
No login and no cookies. Datacenter proxies are included in the run and billed per GB. Residential proxies are optional.
As many as you paste or link. Maximum pages caps how many of them are opened; extra URLs beyond the limit are skipped.
The page owner did not publish them, or Facebook omitted them on the public view. A restaurant usually has phone and address. A brand page often has a website and follower count only.
Yes. Schedule runs from the Schedules tab and call the actor over the REST API, then read the dataset as JSON, CSV, or Excel.
likes is mostly 0 because Facebook no longer publishes it on many pages.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayRequiredFacebook URLs
Public Facebook page or profile URLs, such as https://www.facebook.com/copperkettleyqr/. For more than about 100 URLs, link a remote text or CSV file of URLs instead of pasting them.
resultsLimitintegerOptionaldefault 10Maximum pages
How many URLs to scrape from the list above. Extra URLs are skipped.
Optional limits on which pages are returned.
minFollowersintegerOptionalMinimum followers
Skip pages with fewer followers than this. Leave empty to keep every page.
includeProfilesbooleanOptionaldefault trueInclude personal profiles
Also return public personal profiles. Pages are always included.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies are used by default. Switch to residential if a page only loads from a residential IP. Proxy traffic is billed per GB, and compute is billed separately.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| title | string | Page or profile name. |
| categories | array | Page or profile, plus the Facebook category. |
| followers | number | Follower count from the public page. |
| likes | number | Like count when Facebook still publishes one. |
| rating | string | Recommendation summary, such as 94% recommend (201 reviews). |
| string | Public email address. | |
| phone | string | Public phone number. |
| address | string | Street address. |
| website | string | Primary website. |
| pageUrl | string | Facebook URL that was scraped. |
| intro | string | Short public introduction. |
| pageId | string | Facebook page or profile id. |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Page | One public Facebook page or profile. | $0.007 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/facebook-pages-scraper').call({
"startUrls": [
{
"url": "https://www.facebook.com/copperkettleyqr/"
},
{
"url": "https://www.facebook.com/nasaearth"
},
{
"url": "https://www.facebook.com/HiltonGardenInnMontrealAirport/"
}
],
"resultsLimit": 10,
"includeProfiles": true,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/facebook-pages-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/facebook-pages-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Page details of big brand pages, including profile data.
Basic page details such as category, contacts and likes.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.