Facebook Profile & Posts Scraper avatar
Facebook Profile & Posts Scraper

Pricing

$6.00 / 1,000 results

Go to Apify Store
Facebook Profile & Posts Scraper

Facebook Profile & Posts Scraper

Developed by

Sam Cornwell

Sam Cornwell

Maintained by Community

Fetch public Facebook profile data with one tool. Collect profile posts, get profile details by page ID/URL, or get a profile ID from a URL.

5.0 (1)

Pricing

$6.00 / 1,000 results

0

3

3

Last modified

19 hours ago

πŸ“˜ Facebook Profile & Posts Scraper

Scrape Facebook profile data at scale β€” recent profile posts , profile details (by ID or URL), and profile ID lookup β€” powered by our Facebook Scraper.


✨ Features

  • Profile posts: Fetch public profile posts
  • Profile details: Retrieve rich profile metadata by ID or by URL.
  • Profile ID lookup: Resolve a profile ID from a URL

🧭 Endpoints

Choose one endpoint per run:

  1. profile_posts GET /profile/posts?profile_id=...&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD

  2. details_by_id GET /profile/details_id?profile_id=...

  3. details_by_url GET /profile/details_url?url=...

  4. profile_id_by_url GET /profile/profile_id?url=...


πŸš€ How It Works

  1. Pick the endpoint in the Actor input (dropdown).

  2. Fill only the parameter(s) required for that endpoint.

  3. Run the Actor.

    • For Profile posts, the Actor:

      • Calls GET /profile/posts?profile_id=... (+ optional start_date, end_date),
      • Pushes posts to the dataset,
      • Continues with GET /profile/posts?profile_id=... until finished.

All results are stored in the default Apify Dataset, ready to export as CSV, XLSX, or JSON.


🧾 Input

Fields

  • endpoint (required) β€” one of:

    • profile_posts
    • details_by_id
    • details_by_url
    • profile_id_by_url
  • profile_id (string) β€” required for profile_posts, details_by_id

  • url (string) β€” required for details_by_url, profile_id_by_url

  • start_date (YYYY-MM-DD, optional) β€” filter for profile_posts

  • end_date (YYYY-MM-DD, optional) β€” filter for profile_posts

πŸ“¦ Output

All results are saved as items in the default Apify Dataset.

Profile posts

Each dataset item is a post object from the API, plus helper fields:

  • profile_id (search term) β€” the ID you queried

Common fields (may vary): post_id, type, url, message, timestamp, comments_count, reactions_count, reshare_count, reactions (object), author (object), media (image, video, video_files, video_thumbnail, album_preview, external_url).

Profile details (by ID / by URL)

Single record with profile metadata (structure depends on API). We push results if present, otherwise the raw payload, plus:

  • profile_id (search term) or url (search term)

Profile ID by URL

Single record containing the resolved profile ID, plus:

  • url (search term)

Export via Dataset β†’ Export in the Apify UI (CSV, XLSX, JSON).


βš™οΈ Setup

  1. Create an Actor and add:

    • main.js
    • input_schema.json
    • actor.json
    • package.json
  2. In Actor β†’ Settings β†’ Secrets, add:

    • Key: RAPIDAPI_KEY
    • Value: your RapidAPI key
  3. Run the Actor with one of the input samples above.


🧠 Reliability & Pagination

  • Pagination: Automatically keeps requesting until the API stops returning a cursor.

  • Retries: 3 attempts with a 5s backoff for transient failures (e.g., 429/5xx).

  • State persistence (migrations): On Apify migration, the Actor saves the current cursor, batch, and collected counters and resumes seamlessly.

  • Polite delay: A short delay between requests helps reduce rate-limit hits.

  • Minimal logs: Progress lines look like:

    total posts collected 3
    total posts collected 6

πŸ›‘οΈ Best Practices

  • Use realistic workloads; although the Actor retries on 429/503, excessive calling can still be throttled.
  • For very large profiles, consider narrowing date filters or splitting runs.
  • Profiles must be public for data to be returned by the API.

πŸ”§ Troubleshooting

  • 422 Field required: profile_id The API requires profile_id even when using a cursor. This Actor always includes it; ensure your input has profile_id filled.

  • 429 Rate limited The Actor retries up to 3 times with a 5s delay. If it persists, slow down or split the job.

  • No posts returned The profile may be private, there may be no posts, or your date range excludes available posts.

  • Empty details/ID Double-check the URL/ID. Some profiles or URLs may not resolve or be supported.

πŸ“ˆ SEO Keywords

facebook profile scraper, scrape facebook posts, facebook profile details api, facebook profile id lookup, rapidapi facebook-scraper3, apify actor facebook, facebook cursor pagination, export facebook posts csv, facebook profile details by url, facebook profile details by id, automate facebook scraping