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

5

Total users

1

Monthly active users

15 hours 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.

At a glance: input examples, output examples, use cases, limitations, troubleshooting, and pricing/cost guidance are included below so you can run small public-data checks before scaling exports.

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 cost-first defaults for direct connections, concurrency, retries, and browser fallback 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.

The Actor defaults to direct connection mode, cheap cost mode, disabled browser fallback, maximum concurrency of 2, and maximum request retries of 2. Advanced API users may still pass proxyMode, costMode, enableBrowserDiscovery, maxConcurrency, and maxRetries, but the Apify Console keeps those controls hidden 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.
  • Keep proxyMode set to direct for known public posts and profiles unless the run is blocked or incomplete.
  • Keep enableBrowserDiscovery off unless you need extra profile post discovery.
  • Keep includeThreadContext off unless you need thread replies or quoted post context.
  • The default Actor run memory is 512 MB. Direct post-only runs can also be tested at 256 MB; browser discovery and max-coverage runs should use 1024 MB or more.

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.
  • Cheap and balanced modes avoid browser fallback by default to reduce cost. Enable browser discovery if you need best-effort profile post-link discovery.
  • Keyword, search, tag, hash, and explore discovery inputs are not supported because they are less reliable and more costly.
  • Residential proxy mode can help when direct requests are blocked, but it can increase Apify platform usage and runtime.

Pricing

This Actor uses pay-per-result pricing. Each dataset item is one result. Apify platform usage is kept low by default through 512 MB memory, direct connection mode, low retry counts, and disabled browser fallback. Larger or browser-heavy runs may cost more platform usage, especially when residential proxy mode is enabled.

FAQ

Can I scrape Gab without a proxy?

Yes. proxyMode: "direct" is the default because it is the lowest-cost option for known public Gab posts and profiles. Switch to residential only if direct mode is blocked or incomplete.

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.

Why did a profile return only a profile record?

Gab does not always expose profile post links through the low-cost HTTP/API path. Enable enableBrowserDiscovery or use costMode: "maxCoverage" if you want the Actor to spend more compute trying browser-based profile discovery.

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.