Nitter Scraper
A TypeScript package for scraping tweets from Nitter without authentication.
Installation
npm install nitter-scraper
npm install -g nitter-scraper
Usage
As a Library
import { fetchTweets } from "nitter-scraper";
async function main() {
const tweets = await fetchTweets("username", 1);
console.log(`Found ${tweets.length} tweets`);
}
main().catch(console.error);
As a CLI Tool
bun run cli
nitter-scraper
Features
- Fetches tweets from Nitter without authentication
- Handles pagination automatically
- Built-in rate limiting protection
- TypeScript support
API
fetchTweets(username: string, sinceDate?: Date, maxPages?: number, includeReplies?: boolean): Promise<Tweet[]>
Parameters:
username: Twitter username to scrape (without @)
sinceDate: Optional date to start fetching tweets from (default: null)
maxPages: Maximum number of pages to fetch (default: 1)
includeReplies: Whether to include replies (default: false)
interface Tweet {
id: string;
text: string;
username: string;
created_at: string | null;
timestamp: number | null;
replies: number;
retweets: number;
likes: number;
engagement_score: number;
type: "tweet" | "retweet" | "reply";
reference?: {
id: string;
username: string;
};
}
License
MIT