import { XApiScraper } from "@twexapi-dev/x-api-scraper";
const client = new XApiScraper({
bearerAuth: process.env.X_API_SCRAPER_KEY,
});
const query = "from:elonmusk AI";
let cursor = "";
let pageIndex = 0;
while (true) {
const page = await client.search.advanced({
searchTerms: [query],
sortBy: "Latest",
nextCursor: cursor,
});
for (const tweet of page.tweets ?? []) {
const row = {
source: "twexapi.typescript.search",
query,
tweet_id: tweet.id,
text: tweet.text,
page_index: pageIndex,
next_cursor: page.nextCursor ?? null,
};
process.stdout.write(`${JSON.stringify(row)}\n`);
}
if (!page.hasNextPage || !page.nextCursor) {
break;
}
cursor = page.nextCursor;
pageIndex += 1;
}