Install
openclaw skills install @scavio-ai/scavio-facebookPull a Facebook page's profile, posts, reels and photos, one post with its comments, a single reel/video with downloadable URLs, a public group and its posts, an event, and hashtag posts. 11 endpoints, 1 credit each, structured JSON.
openclaw skills install @scavio-ai/scavio-facebookPull a Facebook page's profile, posts, reels and photos, one post with its comments, a single reel or video with downloadable URLs, a public group and its posts, an event, and the top posts for a hashtag. All endpoints return structured JSON.
Use this skill when the user asks to:
Get a free API key at scavio.dev (50 free credits to get started, no card required):
export SCAVIO_API_KEY=sk_live_your_key
Every request is a POST with a JSON body and:
Authorization: Bearer $SCAVIO_API_KEY
Base URL: https://api.scavio.dev. Every Facebook endpoint costs 1 credit.
| Endpoint | Credits | What it returns |
|---|---|---|
POST /api/v1/facebook/profile | 1 | A page or public profile: name, category, verified flag, likes, followers, talking-about and were-here counts, bio, and where published website/phone/email/address/hours/rating/screenname/creation date/profile+cover photo |
POST /api/v1/facebook/profile/posts | 1 | A page's most recent top posts: text, timestamp, reaction total and breakdown, comment and share counts, media, permalink |
POST /api/v1/facebook/profile/reels | 1 | A page's reels: id, url, downloadable video URLs, thumbnail, duration, play count, owner id |
POST /api/v1/facebook/profile/photos | 1 | A page's photo grid: photo id, image URL, accessibility caption |
POST /api/v1/facebook/post | 1 | One post in full: author, text, timestamp, reaction breakdown, comment and share counts, top comments, media, permalink |
POST /api/v1/facebook/post/comments | 1 | The top visible comments on a post: id, author, text, reaction count, time |
POST /api/v1/facebook/reel | 1 | One reel/video/watch item: title, description, downloadable HD and SD video URLs, thumbnail, duration, view/play counts, reactions, comments, shares, owner, permalink |
POST /api/v1/facebook/group | 1 | A public group's profile: id, name, visibility, member count, description, privacy |
POST /api/v1/facebook/group/posts | 1 | The top posts in a public group: author, text, timestamp, reactions, comment and share counts, media, permalink |
POST /api/v1/facebook/event | 1 | A public event: name, description, start/end time, location, host, going and interested counts, cover photo |
POST /api/v1/facebook/hashtag | 1 | The top public posts for a hashtag: author, text, timestamp, reactions, media, permalink |
Every endpoint except hashtag takes a single url:
| Parameter | Type | Description |
|---|---|---|
url | string | A Facebook URL for the requested surface - a page/profile, post permalink, reel/video, group, or event. profile and group also accept a bare page id / group id |
hashtag takes:
| Parameter | Type | Description |
|---|---|---|
tag | string | A hashtag name, with or without the leading # |
post/comments returns the top visible comments, not the full thread or nested replies.404), and cost nothing.import requests
BASE = "https://api.scavio.dev"
# Your key from https://scavio.dev. Load it from your environment or secret
# store in real code - keep it out of source control.
API_KEY = "sk_your_key_here"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1. A page's profile, then its recent posts
profile = requests.post(f"{BASE}/api/v1/facebook/profile", headers=HEADERS,
json={"url": "https://www.facebook.com/nike"}).json()
posts = requests.post(f"{BASE}/api/v1/facebook/profile/posts", headers=HEADERS,
json={"url": "https://www.facebook.com/nike"}).json()
# 2. One post in full, plus its top comments
post = requests.post(f"{BASE}/api/v1/facebook/post", headers=HEADERS,
json={"url": "https://www.facebook.com/nike/posts/pfbid0..."}).json()
# 3. A reel resolved to downloadable HD/SD URLs
reel = requests.post(f"{BASE}/api/v1/facebook/reel", headers=HEADERS,
json={"url": "https://www.facebook.com/reel/1234567890"}).json()
# 4. Top posts for a hashtag
tag = requests.post(f"{BASE}/api/v1/facebook/hashtag", headers=HEADERS,
json={"tag": "photography"}).json()
curl:
curl -s https://api.scavio.dev/api/v1/facebook/profile \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.facebook.com/nike"}'
Every response uses the envelope { data, response_time, credits_used, credits_remaining }. data carries the profile / posts / reel / group / event payload, with a count on the list endpoints.
404 for a private group, locked profile or dead id is billed as false - the customer is not charged for data that was genuinely unavailable.400 means an invalid or missing parameter. Fix and retry.401 means the API key is invalid or missing. Check SCAVIO_API_KEY.404 means the surface is not found or unavailable (e.g. a private group or locked profile).429 means rate or usage limit exceeded. Wait before retrying. See rate limits.502 / 503 mean the source is temporarily unavailable - wait a few seconds and retry.SCAVIO_API_KEY is not set, prompt the user to export it before continuing.