mcpField
X
x-research

x-research

github.com/crawlora-orgMarketing & growth141 installsUpdated 2d ago
Repository

About x-research

x-research is a skill for retrieving public X profiles, recent posts, and individual post details through the Crawlora API. It suits social listening and account research, returning normalized JSON without browser automation or official X API access.

Key features

  1. 01Public profile details and visible counts
  2. 02Recent posts from a profile page
  3. 03Individual post text and engagement metrics
  4. 04Optional author check by username

Use cases

  1. 01Reviewing an account’s bio and follower counts
  2. 02Checking an account’s recent posting activity
  3. 03Examining the text and metrics of a known post
  4. 04Monitoring public competitor or influencer accounts

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/crawlora-org/crawlora-skills --skill x-research

After installing, type/x-researchin Claude Code to confirm it loaded.

Bundled filesreference/endpoints.mdscripts/crawlora.sh

Details

From the project README

X (Twitter) research

Look up public X profiles, recent posts, and individual post content/engagement — all as normalized JSON from the Crawlora API, no browser automation or official X API access required.

When to use this skill

  • "What's 's profile / follower count on X?"
  • "Pull 's recent posts on X."
  • "What does this X post say, and what's its engagement?"
  • Competitor or influencer social-listening on X without X API access.

Setup (one-time)

  • Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
  • Set CRAWLORA_API_KEY in the environment before running the helper.
  • The helper reads CRAWLORA_API_KEY from the environment and sends requests to https://api.crawlora.net/api/v1. Missing/invalid key → 401.

How it works

  1. Profile — GET /x/profile/{username} returns public profile details for an X username, including visible counts and profile media when available.
  2. Profile posts — GET /x/profile/{username}/posts returns posts from the first public profile page payload (defaults to 20, max 50 via limit). It does not paginate replies, media-only tabs, or search results.
  3. Post detail — GET /x/post/{id} returns a single public post by numeric post id, including author, text, visible metrics, and a quoted post preview when present. Pass username to require the author match (mismatches return 404).

Full endpoint list, methods, and params: reference/endpoints.md.

Calling the API

# Profile:
scripts/crawlora.sh /x/profile/nasa | jq '.'

# Profile posts (capped at 50 per page):
scripts/crawlora.sh /x/profile/nasa/posts limit=30 | jq '.'

# Single post, with author check:
scripts/crawlora.sh /x/post/1234567890 username=nasa | jq '.'

Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.

Endpoint reference

See reference/endpoints.md for all X endpoints this skill uses.

Examples

  • Profile snapshot: /x/profile/<handle> for follower/following counts and bio before deciding whether an account is worth tracking.
  • Recent activity check: /x/profile/<handle>/posts to see posting cadence and topics without paging into replies or media tabs.
  • Single post lookup: /x/post/<id> to pull a specific post's text and metrics, e.g. from a link shared elsewhere, optionally verifying the author with username=.

Notes & limits

  • Credits / pay-on-success: billed only on 2xx; free tier 2,000 credits/mo. Key at https://crawlora.net.
  • Public data only — public profiles/posts; no login, no private content. Respect X's terms.
  • Security: key lives in CRAWLORA_API_KEY only — never hardcode, query-param, or commit it.
  • No search or trending on X — this skill only covers profile, profile posts, and post detail; there is no /x/search or trending endpoint.
  • Profile posts is single-page, not cursor-paginated — /x/profile/{username}/posts only returns what's in the first page payload (limit 1-50, default 20); it won't walk further back in a timeline.
  • Post lookup is by numeric id only — /x/post/{id} needs the post's numeric id, not a tweet URL slug or username; pass username to guard against id collisions/mismatches.

Comments

Markdown supported