Gab OSINT Scraper avatar

Gab OSINT Scraper

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Gab OSINT Scraper

Gab OSINT Scraper

Scrape public Gab posts, profiles, direct post URLs, and thread context for OSINT investigations, social media monitoring, research, and datasets.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

2

Bookmarked

4

Total users

2

Monthly active users

7 days ago

Last modified

Share

Extract full public Gab posts, profiles, and optional thread context from usernames, profile URLs, and direct post URLs into a clean Apify dataset. This Gab scraper is built for OSINT research, social media monitoring, brand monitoring, threat intelligence, academic research, and investigative workflows that need full Gab.com post text without maintaining a custom scraper.

Gab Scraper logo

Why Use This Gab Scraper?

  • Scrape known Gab posts by URL and return full post text.
  • Collect public Gab profile data and profile-linked posts.
  • Expand a direct post into public thread context, including ancestors, replies, and quoted posts when available.
  • Export results as JSON, CSV, Excel, XML, or through the Apify API.
  • Use production defaults for proxy, concurrency, and retries without configuring advanced settings.

Best Use Cases

  • OSINT investigations that need public Gab posts, usernames, profile URLs, and engagement metrics.
  • Monitoring known Gab accounts, public personalities, communities, or narratives.
  • Creating research datasets from specific Gab post URLs.
  • Enriching an existing list of Gab URLs with post text, timestamps, media URLs, likes, reposts, and replies.
  • Building repeatable full-post data pipelines through Apify Console, schedules, webhooks, or API integrations.

What Data Can You Extract?

This Actor returns full post and profile records:

  • post: full public Gab post data, including text, author, timestamp, engagement counts, media URLs, and canonical post URL.
  • profile: public Gab profile data, including username, display name, bio, follower count, post count, avatar, and profile URL.

Example post result:

{
"record_type": "post",
"id": "105647844879148303",
"author_username": "TerrenceKWilliams",
"author_display_name": "TerrenceKWilliams",
"content": "Public post text from Gab...",
"timestamp": "2021-01-30T20:43:52.000Z",
"likes": 123,
"reposts": 12,
"replies": 8,
"media_urls": ["https://..."],
"post_url": "https://gab.com/TerrenceKWilliams/posts/105647844879148303",
"source_type": "post"
}

How To Run

Add Gab usernames, profile URLs, or direct post URLs to targets. The Actor automatically detects which type each entry is and returns full post records where posts are available.

Full Post Example Input

{
"targets": [
"https://gab.com/TerrenceKWilliams/posts/105647844879148303"
],
"includeThreadContext": false,
"maxItems": 1
}

Scrape A Gab Post With Thread Context

Use this when you want the target post plus related public replies, ancestor posts, and quoted posts exposed by Gab.

{
"targets": [
"https://gab.com/TerrenceKWilliams/posts/105647844879148303"
],
"includeThreadContext": true,
"maxItems": 25
}

Scrape Public Gab Profiles

{
"targets": ["support"],
"includeThreadContext": false,
"maxItems": 10
}

Input Options

  • targets: Gab usernames, profile URLs, or direct post URLs. You can mix values like support, @support, https://gab.com/support, and https://gab.com/user/posts/123.
  • includeThreadContext: expands direct post URL runs with public thread context until maxItems is reached.
  • maxItems: maximum number of post results. Profile records do not count against this limit.

Advanced API users may still pass proxyMode, maxConcurrency, and maxRetries, but the Apify Console keeps those details defaulted to reduce setup friction.

Cost And Reliability Tips

  • Use direct Gab post URLs in targets when possible. Direct post URLs are the fastest full-post input.
  • Residential proxy mode is the default because it is the most reliable choice for new clients.
  • Keep includeThreadContext off unless you need thread replies or quoted post context.

Python API Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"targets": [
"https://gab.com/TerrenceKWilliams/posts/105647844879148303",
],
"includeThreadContext": False,
"maxItems": 1,
}
run = client.actor("thescrapelab/gab-osint-scraper").call(run_input=run_input)
dataset_id = run["defaultDatasetId"]
for item in client.dataset(dataset_id).iterate_items():
print(item)

Common Workflows

Monitor Known Gab Posts

Add direct post URLs to targets and schedule the Actor if you want repeated checks.

Collect Thread Context

Use direct post URLs in targets with includeThreadContext: true when the investigation needs the surrounding public conversation, not only the target post.

Build A Full Gab Post Dataset

Add usernames, profile URLs, or direct post URLs to targets, set maxItems, and export the default dataset in your preferred format.

Limitations

  • This Actor extracts public data only.
  • Private, deleted, unavailable, or blocked Gab content cannot be scraped.
  • Profile-linked post collection can vary because Gab may expose different public post data over time.
  • Keyword, search, tag, hash, and explore discovery inputs are not supported because they are less reliable and more costly.
  • Residential proxy mode is the most reliable option but can increase Apify platform usage.

FAQ

Can I scrape Gab without a proxy?

Yes, API users can still pass proxyMode: "direct" for cheaper known-post runs. The Apify Console defaults to residential proxy because it is the most reliable option for new clients.

Will the results include post text?

Yes. This Actor is configured as a full post scraper. Full post records include the content field when Gab exposes the post publicly.

Can this Actor scrape Gab threads?

Yes. Set includeThreadContext to true for direct post URL runs. The Actor will collect available public ancestors, replies, and quoted posts until it reaches maxItems.

Can I use the results in another app?

Yes. Every run stores results in the default Apify dataset, which can be exported or read through the Apify API.