# Gab (/docs/gab) Gab profiles, a user's posts, single posts, comments with nested replies, and keyword post search Read public Gab data: a profile, everything a user posts, one post, the comments on a post with their nested replies, and keyword search over posts. Every endpoint costs 1 credit a call. Base URL: `/v1/gab/...` ## Getting Started ### 1. Fetch a profile ```bash curl "https://www.socialcrawl.dev/v1/gab/profile?handle=a" \ -H "x-api-key: YOUR_API_KEY" ``` ### 2. Walk a user's posts ```bash curl "https://www.socialcrawl.dev/v1/gab/user/posts?handle=a" \ -H "x-api-key: YOUR_API_KEY" ``` Each page holds 20 rows, newest first: the user's own posts, their replies, and their reposts, exactly as the profile shows them. A reply carries the post it answers in `post.ext.in_reply_to_id` and `post.ext.in_reply_to_username`. A repost keeps its own id and the time it was reposted, and the original post (text, author and counts) is in `post.ext.retweeted_post`. A quote post carries the quoted post in `post.ext.quoted_post`. Send `pagination.next_cursor` back as `cursor` for the next, older page; the walk ends when no cursor comes back. ### 3. Read the comments on a post ```bash curl "https://www.socialcrawl.dev/v1/gab/post/comments?url=https://gab.com/a/posts/117445750063805239" \ -H "x-api-key: YOUR_API_KEY" ``` Each page holds 25 rows: top-level comments and their nested replies together, in the order Gab's thread view shows them. Every row has `comment.parent_id`, which is the post id for a top-level comment and the parent comment's id for a reply, so you can rebuild the tree. `sort` is `newest` (the default), `oldest` or `top`. ### 4. Search posts by keyword ```bash curl "https://www.socialcrawl.dev/v1/gab/search/posts?query=RNLI" \ -H "x-api-key: YOUR_API_KEY" ``` Newest first, 25 posts a page. A query that matches nothing returns an empty list and costs nothing. ### 5. Read computed fields When an endpoint supports a computed field and the required source inputs are present, the unified response includes that optional field. Depending on the endpoint, optional fields can include `engagement_rate`, `language`, `content_category`, and `estimated_reach`. See [Computed fields](/docs/computed-fields.md) for formulas, clamping rules, and null semantics. ## Endpoints ## Notes - All endpoints use `GET` with query parameters and the `x-api-key` header. - `gab/post` and `gab/post/comments` take the post URL (`https://gab.com//posts/`); a bare numeric post id is accepted too. - An unknown handle or post returns a 404 and costs nothing. Gab publishes no view or save counts, so those fields are null. - Responses follow the unified SocialCrawl schema.