Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/foss42/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.
https://github.com/foss42/apidash

api api-client client dart developer-tools flutter flutter-apps flutter-desktop gssoc http-client http-requests httpclient insomnia postman postman-api

Last synced: 19 days ago
JSON representation

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.

Awesome Lists containing this project

README

        

# API Dash ⚡️

[![Discord Server Invite](https://img.shields.io/badge/DISCORD-JOIN%20SERVER-5663F7?style=for-the-badge&logo=discord&logoColor=white)](https://bit.ly/heyfoss)

### 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](https://github.com/foss42/apidash?tab=readme-ov-file#mime-types-supported-by-api-dash-response-previewer)) and generate API integration code ([full list](https://github.com/foss42/apidash?tab=readme-ov-file#code-generators)) on the go.

| Desktop (macOS, Windows, Linux) | Mobile (iOS, Android) |
| -- | -- |
|![Image](https://github.com/foss42/apidash/assets/615622/984b3c95-a6a1-48a5-a6ba-5a1e95802b5d) | ![iphone](https://github.com/user-attachments/assets/0bfdaa0b-b593-4189-8171-156b9941d139) |

## Download

API Dash can be downloaded from the links below:



OS
Distribution
Installation Guide
CPU/Architecture
Download Link




iOS/iPad
App Store


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 MIME types/formats here](https://github.com/foss42/apidash?tab=readme-ov-file#mime-types-supported-by-api-dash-response-previewer).
- 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](https://github.com/foss42/apidash?tab=readme-ov-file#code-generators).

**🌙 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 | `hyper` | |
| 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](https://github.com/foss42/apidash/discussions/80).

## 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 MIME types 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 MIME types. Please go ahead and raise an issue so that we can discuss the approach.
We are adding support for other MIME types 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 MIME types that are syntax highlighted in API Dash:

| Mimetype | Extension | Comment |
| ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------ |
| `application/json` | `.json` | Other MIME types like `application/geo+json`, `application/vcard+json` that are based on `json` are also supported. |
| `application/xml` | `.xml` | Other MIME types 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](CHANGELOG.md)

## Provide Feedback, Report Bugs & Request New Features

Just click on the [Issue tab](https://github.com/foss42/apidash/issues) to raise a new issue in this repo.

## Roadmap

Please find the Roadmap for API Dash [here](https://github.com/foss42/apidash/blob/main/ROADMAP.md).

## Contribute to API Dash

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

- [Ask a question](https://github.com/foss42/apidash/discussions)
- [Submit a bug report](https://github.com/foss42/apidash/issues/new/choose)
- [Request a new feature](https://github.com/foss42/apidash/issues/new/choose)
- [Choose from our existing list of ideas](https://github.com/foss42/apidash/discussions/112)
- [Suggest ways to improve the developer experience of an existing feature](https://github.com/foss42/apidash/issues/new/choose)
- Add documentation
- To add a new feature, resolve an existing issue or add a new test to the project, check out our [Contribution Guidelines](CONTRIBUTING.md).

## 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](https://bit.ly/heyfoss) and we can have a chat in the **#foss-apidash** channel.