GitHunt
CI

cipherc09-blip/threads-connect

GraphQL proxy API for Threads & Instagram data at scale — auto session management, TypeScript SDK, Cloudflare Workers

thredly

threads-connect

Unlock Threads Data at Scale

npm
License: MIT
GitHub stars
Status

GraphQL proxy API for Threads & Instagram data — auto session management, TypeScript SDK, global Cloudflare Workers deployment.

thredly.dev · Documentation · Examples


Features

  • Auto Session Management — Zero-maintenance cookie rotation & token refresh
  • 15+ Endpoints — Users, posts, search, reposts, replies, followers, media, and more
  • TypeScript SDK — Type-safe client with full IntelliSense support
  • Sub-500ms Latency — Cloudflare Workers edge deployment, P95 globally
  • Paginated Responses — Cursor-based pagination on all list endpoints
  • Research-Ready — Designed for academic researchers and data analysts

Quick Start

npm install threads-api-client
import { ThredlyClient } from 'threads-api-client';

const client = new ThredlyClient({
  apiKey: 'your-api-key',        // get yours at thredly.dev
  baseUrl: 'https://thredly.dev/api',
});

// Resolve username → userId
const { userId } = await client.users.getInfo('zuck');

// Get profile
const profile = await client.users.getProfile(userId);

// Fetch posts (paginated)
const { posts, nextCursor } = await client.users.getPosts(userId);

// Search
const results = await client.search.top('AI research');

REST API (cURL)

export API_KEY="your-api-key"
export BASE="https://thredly.dev/api"

# Get user info
curl -H "x-api-key: $API_KEY" "$BASE/user/info?username=zuck"

# Get user posts
curl -H "x-api-key: $API_KEY" "$BASE/user/12345/posts"

# Search Threads
curl -H "x-api-key: $API_KEY" "$BASE/search/top?q=threads"

API Endpoints

User Endpoints

Endpoint Description Parameters
GET /api/user/info Resolve username to userId + basic info username
GET /api/user/:userId Full user profile userId
GET /api/user/:userId/posts User's posts userId, cursor?
GET /api/user/:userId/reposts User's reposts userId, cursor?
GET /api/user/:userId/replies User's replies userId, cursor?
GET /api/user/:userId/followers User's followers userId, cursor?
GET /api/user/:userId/following Accounts user follows userId, cursor?
GET /api/user/:userId/media Media posts only userId, cursor?

Post Endpoints

Endpoint Description Parameters
GET /api/post/id-by-url Resolve post URL to postId url
GET /api/post/:postId Full post details postId
GET /api/post/:postId/related Related posts postId
GET /api/post/:postId/comments Post comments postId, cursor?
GET /api/post/:postId/activity Engagement activity postId
GET /api/post/:postId/impressions Impression metrics postId

Search Endpoints

Endpoint Description Parameters
GET /api/search/top Top results for query q, cursor?
GET /api/search/recent Most recent results q, cursor?
GET /api/search/profiles User profile search q, cursor?

Examples

See the examples/ directory:


Resources

Resource Link
Full documentation thredly.dev/docs
TypeScript SDK threads-api-client on npm
SDK source thredly-examples
API reference docs/api-reference.md
Get API key thredly.dev

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines.


License

MIT — see LICENSE


thredly.dev · Built on Cloudflare Workers · Not affiliated with Meta