/apidash

API Dash is a beautiful open-source cross-platform API Client built using Flutter which can help you easily create & customize your API requests, visually inspect responses and generate API integration code. A lightweight alternative to postman/insomnia.

Primary LanguageDartApache License 2.0Apache-2.0

API Dash ⚡️

Discord Server Invite

🚨 We are participating in GSoC 2024 🎉

GSoC
Link
Learn about GSoC Link
Organization page on GSoC Link
Project Ideas List Link
Application Guide Link
Discord Channel Link

Please support this initiative by giving this project a Star ⭐️

API Dash is a beautiful open-source cross-platform API Client that can help you easily create & customize your API requests, visually inspect responses (full list of supported mime-types) and generate API integration code (full list) on the go.

Image

Download

API Dash can be downloaded from the links below:

OS Distribution Installation Guide CPU/Architecture Download Link
macOS .dmg Link Apple Silicon & Intel Link
Windows .exe Link 64-bit Link
Linux .deb Link amd64 Link
arm64 Link
.rpm Link x86_64 Link
aarch64 Link
PKGBUILD (Arch Linux) Link x86_64 Link

List of Features

↗️ Create & Customize API Requests

  • Create different types of HTTP requests (GET, HEAD, POST, PATCH, PUT and DELETE).
  • Easily manipulate and play around with request inputs like headers, query parameters and body.
  • Full support to send text content with 🥳 Unicode/Emoji and preview any API response containing Unicode/Emoji.

💼 Organize Requests in Collections & Folders

  • Create collections and folders to organize your requests.
  • Press and Drag to Re-arrange requests.
  • Click and open popup menu to rename, duplicate and delete a request.

🔎 Visually Preview and Download Data & Multimedia API Responses

  • Inspect the API Response (HTTP status code, error message, headers, body, time taken).
  • View formatted code previews for responses of various content types like JSON, XML, YAML, HTML, SQL, etc.
  • API Dash helps explore, test & preview Multimedia API responses which is not supported by any other API client. You can directly test APIs that return images, PDF, audio & more. Check out the full list of supported mimetypes/formats here.
  • Save 💾 response body of any mimetype (image, text, etc.) directly in the Downloads folder of your system by clicking on the Download button.

👩🏻‍💻 Code Generation

  • We started out as the only open source API client which supported advanced Dart code generation to easily integrate APIs in Dart/Flutter projects or to directly run it on DartPad. With time we have added more code-gens and currently API Dash supports generation of well-tested integration codes for JavaScript, Python, Kotlin & various other languages. You can check out the full list of supported languages/libraries.

🌙 Full Dark Mode Support

  • Easily switch between light mode and dark mode.

💾 Data

  • Data is persisted locally on the disk. To save the current snapshot, just press the Save button in the collection pane.
  • Click and open the collection/folder popup menu to export it as HAR. This can be version controlled & can be directly imported in other API Clients like Postman, Paw, etc.
  • Export your entire data into a HAR (HTTP Archive) file. To access this option goto Settings > Export Data.

⚙️ Settings & Other Options

  • Customize various options using a dedicated Settings screen.
  • Window Configuration (Size & Position) is persisted and restored on app start. (Only macOS & Windows)

Code Generators

API Dash currently supports API integration code generation for the following languages/libraries.

Language Library Comment/Issues
cURL
HAR
C libcurl
C# HttpClient
C# RestSharp
Dart http
Dart dio
Go net/http
JavaScript axios
JavaScript fetch
JavaScript (node.js) axios
JavaScript (node.js) fetch
Python requests
Python http.client
Kotlin okhttp3
Ruby faraday
Ruby net/http
Rust reqwest
Rust ureq
Rust Actix Client
Java asynchttpclient
Java HttpClient
Java okhttp3
Java Unirest
Julia HTTP
PHP curl
PHP guzzle
PHP HTTPlug

We welcome contributions to support other programming languages/libraries/frameworks. Please check out more details here.

MIME Types supported by API Dash Response Previewer

API Dash is a next-gen API client that supports exploring, testing & previewing various data & multimedia API responses which is limited/not supported by other API clients. You can directly test APIs that return images, PDF, audio & more.

Here is the complete list of mimetypes that can be directly previewed in API Dash:

File Type Mimetype Extension Comment
PDF application/pdf .pdf
Video video/mp4 .mp4
Video video/webm .webm
Video video/x-ms-wmv .wmv
Video video/x-ms-asf .wmv
Video video/avi .avi
Video video/msvideo .avi
Video video/x-msvideo .avi
Video video/quicktime .mov
Video video/x-quicktime .mov
Video video/x-matroska .mkv
Image image/apng .apng Animated
Image image/avif .avif
Image image/bmp .bmp
Image image/gif .gif Animated
Image image/jpeg .jpeg or .jpg
Image image/jp2 .jp2
Image image/jpx .jpf or .jpx
Image image/pict .pct
Image image/portable-anymap .pnm
Image image/png .png
Image image/sgi .sgi
Image image/svg+xml .svg
Image image/tiff .tiff
Image image/targa .tga
Image image/vnd.wap.wbmp .wbmp
Image image/webp .webp
Image image/xwindowdump .xwd
Image image/x-icon .ico
Image image/x-portable-anymap .pnm
Image image/x-portable-bitmap .pbm
Image image/x-portable-graymap .pgm
Image image/x-portable-pixmap .ppm
Image image/x-tga .tga
Image image/x-xwindowdump .xwd
Audio audio/flac .flac
Audio audio/mpeg .mp3
Audio audio/mp4 .m4a or .mp4a
Audio audio/x-m4a .m4a
Audio audio/wav .wav
Audio audio/wave .wav
CSV text/csv .csv Can be improved

We welcome PRs to add support for previewing other multimedia mimetypes. Please go ahead and raise an issue so that we can discuss the approach. We are adding support for other mimetypes with each release. But, if you are looking for any particular mimetype support, please go ahead and open an issue. We will prioritize it's addition.

Here is the complete list of mimetypes that are syntax highlighted in API Dash:

Mimetype Extension Comment
application/json .json Other mimetypes like application/geo+json, application/vcard+json that are based on json are also supported.
application/xml .xml Other mimetypes like application/xhtml+xml, application/vcard+xml that are based on xml are also supported.
text/xml .xml
application/yaml .yaml Others - application/x-yaml or application/x-yml
text/yaml .yaml Others - text/yml
application/sql .sql
text/css .css
text/html .html Only syntax highlighting, no web preview.
text/javascript .js
text/markdown .md

What's new in v0.3.0?

Visit CHANGELOG.md

Provide Feedback, Report Bugs & Request New Features

Just click on the Issue tab to raise a new issue in this repo.

Roadmap

Please find the Roadmap for API Dash here.

Contribute to API Dash

You can contribute to API Dash in any or all of the following ways:

Need Any Help?

In case you need any help with API Dash or are encountering any issue while running the tool, please feel free to drop by our Discord server and we can have a chat in the #foss-apidash channel.