> ## Documentation Index
> Fetch the complete documentation index at: https://reach-owl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Discover Facebook Business Pages with Page Scrapers

> Create location and keyword page scraper jobs, list scraped Facebook business pages, and optionally verify WhatsApp numbers.

> Use ReachOwl page scrapers to find Facebook business pages by city or location and keyword. A connected Facebook browser runs the scrape.

Page scrapers (UI: Page Scraping) create one job per **location x keyword** pair. The chrome extension worker discovers Facebook business pages for those jobs. Pause, resume, and re-run through the API - do not call extension worker ingest routes.

## Prerequisites

* Authenticate with `POST /api/v1/authenticate` and send `Authorization: Bearer YOUR_TOKEN`
* Connect a Facebook browser session in the ReachOwl app (Browsers page)
* For WhatsApp number verification: connect WhatsApp on Browsers and enable `whatsapp_verification_enabled` on the job

## 1. Create scrapers

`POST /api/v1/page-scrapers` creates one scraper job for every location and keyword combination.

```bash theme={null}
curl -X POST "https://reachowl.com/api/v1/page-scrapers" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": [
      { "label": "Lahore, Pakistan", "value": "106377336067638" }
    ],
    "keywords": ["dentist", "gym"],
    "status": "active",
    "whatsapp_verification_enabled": true
  }'
```

* `locations[].value` - Facebook location id or location query string
* `locations[].label` - display name (optional)
* `keywords` - search terms
* `status` - `active` (default) or `paused`
* `reset_if_complete` - default `true`; restarts completed jobs when re-posted

## 2. Check status and list jobs

```bash theme={null}
curl -H "Authorization: Bearer YOUR_TOKEN" -H "Accept: application/json" \
  "https://reachowl.com/api/v1/page-scrapers/status"

curl -H "Authorization: Bearer YOUR_TOKEN" -H "Accept: application/json" \
  "https://reachowl.com/api/v1/page-scrapers?page=1&limit=50"
```

Filter with `search` or `is_complete=true|false`.

## 3. Pause, resume, or re-run

```bash theme={null}
curl -X PATCH "https://reachowl.com/api/v1/page-scrapers/12" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "paused"}'

curl -X PATCH "https://reachowl.com/api/v1/page-scrapers/12" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rerun": true}'
```

Bulk controls:

```bash theme={null}
curl -X POST "https://reachowl.com/api/v1/page-scrapers/start-all" \
  -H "Authorization: Bearer YOUR_TOKEN"

curl -X POST "https://reachowl.com/api/v1/page-scrapers/stop-all" \
  -H "Authorization: Bearer YOUR_TOKEN"

curl -X POST "https://reachowl.com/api/v1/page-scrapers/rerun-all" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

## 4. List scraped pages

```bash theme={null}
curl -H "Authorization: Bearer YOUR_TOKEN" -H "Accept: application/json" \
  "https://reachowl.com/api/v1/page-scrapers/12/pages?page=1&limit=50"
```

Or query all scraped pages:

```bash theme={null}
curl -H "Authorization: Bearer YOUR_TOKEN" -H "Accept: application/json" \
  "https://reachowl.com/api/v1/facebook-business-pages?facebook_page_search_id=12&page=1&limit=50"
```

Update or delete a page with `PATCH` / `DELETE` on `/api/v1/facebook-business-pages/{id}`.

## 5. Optional WhatsApp verification

Requires WhatsApp Connect and `whatsapp_verification_enabled` on the scraper.

```bash theme={null}
curl -X POST "https://reachowl.com/api/v1/facebook-business-pages/verify-whatsapp/start" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"facebook_page_search_id": 12}'

curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://reachowl.com/api/v1/facebook-business-pages/export-whatsapp-csv?facebook_page_search_id=12&only_confirmed=1"
```

## Related API

* [List scrapers](https://reach-owl.mintlify.site/api-reference/page-scrapers/list.md)
* [Create scrapers](https://reach-owl.mintlify.site/api-reference/page-scrapers/create.md)
* [Update scrapers](https://reach-owl.mintlify.site/api-reference/page-scrapers/update.md)
* [Scraped pages](https://reach-owl.mintlify.site/api-reference/page-scrapers/pages.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.