Search packages, repositories and app categories

Package detailsv0.6.0

dart_twitter_api

A dart wrapper for using the Twitter API with well documented interfaces for every endpoint.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
1.1K
Likes
44
Pub points
150

Install package

flutter pub add dart_twitter_api

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Dart package that provides a well-documented wrapper for the Twitter API, enabling seamless integration with Flutter applications across multiple platforms. It offers clear interfaces for all Twitter API endpoints, simplifying authentication, data retrieval, and posting functionality. Designed for developers who want to build social media features like tweet fetching, user interactions, and real-time updates in their apps. The package supports Android, iOS, Web, macOS, Windows, and Linux, ensuring broad compatibility. Its structured approach reduces boilerplate and enhances code maintainability.

Use cases

  • Fetching tweets and timelines
  • User profile management
  • Posting and replying to tweets
  • Real-time feed updates
  • Social media analytics
  • Integrating Twitter login

Key features

  • Comprehensive endpoint coverage
  • Well-documented APIs
  • Cross-platform support
  • Authentication helpers
  • Type-safe request/response models
  • Active GitHub maintenance

Suitable for

  • Flutter developers building social apps
  • Apps requiring Twitter integration
  • Projects needing multi-platform support
  • Developers prioritizing clean code structure
  • Teams using OAuth workflows

Considerations

  • Requires Twitter Developer account
  • Rate limits apply
  • Needs proper error handling
  • Dependent on external API stability
  • May require token refresh logic

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

A Dart wrapper for the Twitter API v1.1

pub test

This dart package provides a well documented wrapper for the Twitter v1.1 API.

To access the v2 endpoints, check out twitter-api-v2.

Why use this package?

To make the usage as convenient and comfortable as possible, this package provides interfaces for the various endpoints of the Twitter API. Documentation for each request is available as dart docs and each request's parameters can be changed as named parameters.

The various data structures returned by Twitter are parsed into data models in an isolate.

Example usage

example

Twitter API key

Get your Twitter API key here.

Features

Implemented endpoints

The implemented API endpoints are available as methods in the corresponding service. The request parameters can be set through named parameters and the response will be parsed into a data object for maximum convenience.

Find a list of implemented endpoints here.


If an API endpoint is not yet implemented, a request can be made to that endpoint by manually using the TwitterClient from the TwitterApi object.

See Making a custom request to the Twitter API for an example.

Error handling

Requests made by the client can throw the following errors:

  • TimeoutException when a request hasn't returned a response for some time (defaults to 10s, can be changed in the TwitterClient).

  • Response when the received response does not have a 2xx status code. Most responses include additional error information that can be parsed manually from the response's body. Check out the Twitter Developer documentation of the endpoint for possible error responses (Hyperlinked in the dart doc for each endpoint).

  • Other unexpected errors in unlikely events (for example when parsing the response).


For an example of uploading media files to Twitter, see Attaching media to a Tweet.

Development

Contribution

I appreciate any contributions to this package. Any not yet implemented endpoints can be added similarly to the other implementations. Feel free to reach out to me to ask any questions.

Please make sure dartanalyzer doesn't report any problems before opening a pull request.

Miscellaneous
  • To generate json_serializable models
    • dart run build_runner build --delete-conflicting-outputs

Categories

Dependencies

Dependency list 4 items

Source repository

Projects using this package