Skip to content

Unofficial Python client for the Twitter V2 API via RapidAPI, offering asynchronous data retrieval.

License

Notifications You must be signed in to change notification settings

datarise-org-ma/twitter-client-typescript

Repository files navigation

Unofficial Twitter Typescript Client for Twitter/X Rapid API

Build Status npm version License: MIT

This is a TypeScript package that provides an asynchronous client for interacting with the Twitter V2 API via the RapidAPI platform. This client provides various methods for accessing Twitter data.

Table of Contents

Installation

To install the package, use npm or yarn:

npm install twitter-client-typescript

or

yarn add twitter-client-typescript

Usage

Simple Example

To use the client, you will need to create an instance of the AsyncTwitterClient class and provide your RapidAPI key:

import { AsyncTwitterClient } from 'twitter-client-typescript';

const client = new AsyncTwitterClient({ apiKey: "YOUR_API_KEY" });


// Use the client to make API calls
// Search for tweets
client.search('elon musk').then((response) => {
    result = response.data;
    console.log(result);
}).catch((error) => {
  console.error(error);
});

// Get user details
client.userDetails('elonmusk').then((response) => {
    result = response.data;
    console.log(result);
}).catch((error) => {
  console.error(error);
});

// Get user tweets
client.userTweets('elonmusk').then((response) => {
    result = response.data;
    console.log(result);
}).catch((error) => {
  console.error(error);
});

Advanced Usage

AsyncTwitterClient class supports batch requests. You can make multiple requests in parallel and get the results in a single response. Here is an example:

import { AsyncTwitterClient } from 'twitter-client-typescript';

const client = new AsyncTwitterClient({ apiKey: "YOUR_API_KEY", timeout: 10000 });

const users = ['elonmusk', 'BillGates', 'JeffBezos', 'tim_cook', 'satyanadella'];

// Create an array of promises
const promises = users.map((user) => client.userDetails(user));

// Make the requests in parallel
Promise.all(promises).then((responses) => {
    responses.forEach((response, index) => {
        console.log(users[index], response.data);
    });
}).catch((error) => {
    console.error(error);
});

Check Rate limit

You can check the rate limit of the API using the rateLimit method. AsyncTwitterClient has a rateLimit attribute that returns the rate limit details. It's updated after each request.

import { AsyncTwitterClient } from 'twitter-client-typescript';

const client = new AsyncTwitterClient({apiKey: 'YOUR_RAPID_API_KEY'});

// Get user details
client.userDetails('elonmusk').then((response) => {
    result = response.data;
    console.log(result);
}).catch((error) => {
  console.error(error);
});

// Check rate limit
console.log(`Limit : ${client.rateLimit.limit}`);
console.log(`Remaining requests: ${client.rateLimit.remaining}`);
console.log(`Reset time: ${client.rateLimit.reset}`);

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

If you have any questions or feedback, feel free to reach out to us at contact [at] datarise [dot] ma.