FlosForge Caller for macOS, Windows and Linux

Free, private HTTP API client for macOS, Windows and Linux

Send requests, run collections and test APIs without creating an account or logging in. FlosForge Caller opens the collections and environments you already have, runs their pre-request and test scripts, and stores everything as readable JSON right on your computer. Free and open source under the GNU GPL v3.

  • Opens your existing collections
  • Runs pm.* scripts and tests
  • Collection runner and CLI for CI

Free software · GPL-3.0-or-later · not sold

Sample data: every name, site, address, company and figure shown is invented. Any resemblance to a real person, business, product or website is coincidental and implies no affiliation, endorsement or relationship of any kind.

Runs on
macOS, Windows and Linux
Opens
Collection exports v1 to v2.1
Keeps data
Plain JSON on your computer
Account
None, ever

Bring the collections you already have

Export your collections, environments, or full workspace dumps from your current API client and drop the files straight into Caller. Folders, requests, payload types, auth configurations, variables, and scripts carry over cleanly, and a clear import summary flags anything that needs a manual check. You can also paste raw cURL commands directly into the URL bar to turn them into requests instantly.

  • Collection exports (v1, v2.0, and v2.1), environments, globals, and full data dumps
  • Paste cURL commands directly into the URL bar to create requests
  • Export as v2.1 collections, cURL, or code snippets for fetch, Python, HTTPie, and Go
  • Secret environment values stay safely masked during import

The scripts and tests you wrote still run

You do not have to rewrite your workflows. Pre-request and post-response scripts use the familiar pm.* API across collections, folders, and individual requests, so most existing scripts run without modification. Test results show pass and fail badges right beside the response, with console output organized into its own tab.

  • pm.test and pm.expect with Chai, pm.environment, pm.variables, and pm.sendRequest
  • CryptoJS, Lodash, and compatibility with the legacy global script API and tests[]
  • Scripts execute in an isolated worker that cannot touch your local files
  • Configurable execution timeouts stop hung or runaway scripts automatically

Run a whole collection, in the app or in CI

The collection runner executes entire collections or specific folders in sequence. You can loop runs, add custom delays, or iterate through rows of a CSV or JSON data file with variables flowing seamlessly from request to request. The exact same execution engine runs from your terminal using familiar command-line flags, making it easy to run automated suites in CI pipelines.

  • Data-driven runs with CSV/JSON files, request delays, stop-on-failure, and setNextRequest flow control
  • Export run results in Markdown, text, PDF, CSV, JSON, or JUnit XML with tokens and cookies masked
  • Lightweight standalone CLI runner (~1 MB) that only requires Node.js
  • Standard CI exit codes: 0 for all passed, 1 for failures, and 2 for syntax or usage errors

Everything stays on your computer

There is no account to create, no login prompt, and no cloud synchronization behind your back. Each workspace is a regular folder and each collection is stored as plain JSON, making your work transparent, easy to back up, and ready to version with Git. The only network traffic leaving your computer is the requests you choose to send.

  • Independent workspaces with their own collections, environments, history, and accent colors
  • Inspectable cookie jar that sends cookies automatically, just like a browser
  • Connection timeline breaking down DNS, connect, TLS handshake, TTFB, and download duration
  • Light and dark modes with 64 curated color themes, or create your own

Every feature, in full

A list of features you can find in the application.

FlosForge Caller feature categories
  • Any method

    GET, POST, PUT, PATCH, DELETE, and custom methods, with query parameters synchronized with the URL.

  • Every body type

    Raw JSON, XML, HTML, plain text, multipart forms with file uploads, URL-encoded forms, GraphQL, and binary files.

  • Headers

    Manage headers row by row, or switch to bulk edit to paste raw key-value text.

  • Auth

    Bearer tokens, Basic Auth, API keys in headers or query params, and OAuth 2.0 access tokens, inherited down folder trees.

  • Variables

    Environment, collection, and global {{variables}}, highlighted as you type, inspected on hover, and autocompleted.

  • Dynamic variables

    Dynamic generators like {{$guid}}, {{$timestamp}}, {{$randomEmail}}, and more.

  • Pretty, raw and preview

    Formatted views, raw bodies, and safe HTML or image previews rendered in an isolated sandbox that runs no scripts.

  • JSON tree and table

    Expand JSON responses as an interactive tree to copy values or JSON paths, or display arrays in a sortable, filterable table.

  • Test results and logs

    Immediate pass/fail results for every test assertion, alongside full script console logs.

  • Timeline

    Precise measurements for DNS lookup, connection, TLS handshake, wait time, and download duration, with redirect history.

  • Reports

    Export request and response summaries to Markdown, plain text, PDF, CSV, or JSON.

  • Collection runner

    Execute collections or specific folders in tree order, with checkboxes to include or skip individual requests.

  • Data files

    Drive iterative runs from CSV or JSON files, with columns mapped to {{variables}} and pm.iterationData.

  • Flow control

    Skip or repeat requests dynamically with pm.execution.setNextRequest, insert custom delays, or halt on first failure.

  • Command line

    The same execution engine in a headless CLI for terminal and CI workflows, with familiar run flags and JUnit XML output.

  • Workspaces

    Keep client and personal projects separated, each with its own collections, history, open tabs, and color scheme.

  • Tabs and history

    Open tabs restore automatically when you relaunch, and every sent request is saved to a searchable history log.

  • Library

    Organize your collection tree effortlessly with intuitive drag-and-drop reordering.

  • Layout

    Switch smoothly between side-by-side split view and stacked top-and-bottom panes.

  • Demo workspace

    Explore 39 pre-configured requests demonstrating auth, scripts, and tests against free public APIs in a single click.

  • Any method

    GET, POST, PUT, PATCH, DELETE, and custom methods, with query parameters synchronized with the URL.

  • Every body type

    Raw JSON, XML, HTML, plain text, multipart forms with file uploads, URL-encoded forms, GraphQL, and binary files.

  • Headers

    Manage headers row by row, or switch to bulk edit to paste raw key-value text.

  • Auth

    Bearer tokens, Basic Auth, API keys in headers or query params, and OAuth 2.0 access tokens, inherited down folder trees.

  • Variables

    Environment, collection, and global {{variables}}, highlighted as you type, inspected on hover, and autocompleted.

  • Dynamic variables

    Dynamic generators like {{$guid}}, {{$timestamp}}, {{$randomEmail}}, and more.

  • Pretty, raw and preview

    Formatted views, raw bodies, and safe HTML or image previews rendered in an isolated sandbox that runs no scripts.

  • JSON tree and table

    Expand JSON responses as an interactive tree to copy values or JSON paths, or display arrays in a sortable, filterable table.

  • Test results and logs

    Immediate pass/fail results for every test assertion, alongside full script console logs.

  • Timeline

    Precise measurements for DNS lookup, connection, TLS handshake, wait time, and download duration, with redirect history.

  • Reports

    Export request and response summaries to Markdown, plain text, PDF, CSV, or JSON.

  • Collection runner

    Execute collections or specific folders in tree order, with checkboxes to include or skip individual requests.

  • Data files

    Drive iterative runs from CSV or JSON files, with columns mapped to {{variables}} and pm.iterationData.

  • Flow control

    Skip or repeat requests dynamically with pm.execution.setNextRequest, insert custom delays, or halt on first failure.

  • Command line

    The same execution engine in a headless CLI for terminal and CI workflows, with familiar run flags and JUnit XML output.

  • Workspaces

    Keep client and personal projects separated, each with its own collections, history, open tabs, and color scheme.

  • Tabs and history

    Open tabs restore automatically when you relaunch, and every sent request is saved to a searchable history log.

  • Library

    Organize your collection tree effortlessly with intuitive drag-and-drop reordering.

  • Layout

    Switch smoothly between side-by-side split view and stacked top-and-bottom panes.

  • Demo workspace

    Explore 39 pre-configured requests demonstrating auth, scripts, and tests against free public APIs in a single click.

Not supported yet

Most collections import cleanly out of the box. A few vendor-specific cloud features are not supported, and the import summary lists anything skipped during import:

  • Saved request examples (mock response bodies)
  • Digest, AWS Signature, Hawk, and NTLM authentication schemes
  • Path-variable substitution tables (:id is dispatched as typed in the URL path)
  • Visualizer scripts, scheduled cloud monitors, and hosted mock servers

Questions about FlosForge Caller

Can FlosForge Caller open my existing collections?

Yes. Export your collections (v1, v2.0, or v2.1), environments, globals, or a complete data dump from your current API client and drop the JSON files directly into Caller. Folders, requests, bodies, auth configurations, variables, and scripts carry over cleanly, with an import summary highlighting any unsupported properties.

Do I need to create an account or sign in?

No, never. There is no account registration, no sign-in requirement, and no cloud synchronization. All your collections, environments, and history are saved as plain JSON files directly on your computer.

Can I run collections automatically in CI pipelines?

Yes. The flosforge-caller command-line runner uses the exact same execution engine as the desktop application. It accepts familiar run flags, outputs standard JUnit XML or Markdown reports, and requires only Node.js 22 or later.

How every FlosForge app works

  • No telemetry

    No analytics, no crash reporting, no usage pings. Not configurable — simply absent.

  • Local storage only

    Your data stays on your own device, stored in private application sandboxes under your control.

  • Open exports

    Everything exports to standard formats you own (CSV, GPX, JSON, Markdown), with zero lock-in.

Getting it running

Download a prebuilt release from the GitHub Releases page, or clone the repository and build it yourself. Both give you the exact same app; building from source lets you inspect every line of code first.

Before you start

Because these builds are produced independently without expensive corporate code-signing certificates from Apple or Microsoft, macOS Gatekeeper and Windows SmartScreen will show an unverified developer warning when opened for the first time. Download installers exclusively from the project’s official GitHub Releases page, or build from source if you prefer full control over the binary.

What you need first

  • macOS 13 Ventura or later, Windows, or Linux, on x64 or ARM64
  • To build from source: Node.js 22 or later, and Git
FlosForge Caller on GitHub
  1. Download a build

    Choose the installer for your platform from the Releases page: a .dmg for macOS (Apple silicon or Intel), an installer or portable .exe for Windows, or an AppImage, .deb, or .rpm for Linux.

  2. Open it the first time

    On macOS, open the app, then click Open Anyway in System Settings → Privacy & Security. On Windows, click More info, then Run anyway on the SmartScreen dialog. On Linux, make the AppImage executable or install the .deb or .rpm with your package manager.

    chmod +x FlosForge-Caller-*.AppImage
  3. Or build it from source

    Clone the repository and install dependencies with npm.

    git clone https://github.com/dimitriostzr/flosforge-http-caller.git
    cd flosforge-http-caller && npm install
  4. Run it, or package it

    Start the app directly in development mode, or package a standalone installer for your operating system.

    npm run dev
    npm run dist:mac   # or dist:win, dist:linux

Free software · GPL-3.0-or-later · not sold

Free and open source

FlosForge Caller is released under the GNU General Public License v3. It is not sold — there is no paid version, no licence key and no tier — and the licence is the whole arrangement. In plain terms:

  • Free to use for personal, academic, and commercial work alike, with no fees, subscriptions, or paywalled features.
  • You are free to inspect every line of source code, customize the application, and compile your own builds.
  • Any modified versions or redistributions must be shared under the same GNU GPL v3 licence with full source code made available.
  • The GPL covers the source code; the FlosForge name and project icons remain reserved branding, so distributed forks should use their own branding.
  • Provided "as is", without warranty of any kind. You are responsible for the network requests you send and the external services you connect to.

Free, and the source is public

FlosForge Caller for macOS, Windows and Linux is free software, published in full on GitHub. Download it, audit it, or fork it. It is offered without a support commitment, so read the README first and try it on a machine you can afford to experiment with.

Download from GitHub View on GitHub

No account, no telemetry, nothing reported back.

Trademarks and affiliation

FlosForge is an independent, one-person project. It is NOT affiliated with, endorsed by, sponsored by, certified by, approved by or connected in any way to any of the companies or organisations named below, or to any other company whose products, services or trademarks appear anywhere on this site or inside its screenshots. None of them has reviewed, approved or supported this software, and no such relationship is claimed or implied. Their names appear here for one reason only: to identify the software the pages are talking about.

Apple Inc.
Apple, macOS, Mac, the Mac App Store, Touch ID, Keychain and Apple Intelligence
Microsoft Corporation
Microsoft, Windows, Visual Studio, WinUI and .NET
Google LLC
Google, Android, Google Play, Google Drive, Health Connect and Gemini
Samsung Electronics Co., Ltd.
Samsung, Galaxy, Samsung Health and S Pen
the WordPress Foundation
WordPress
Linus Torvalds
Linux, registered in the U.S. and other countries
The MITRE Corporation
CVE (registered trademark) and CWE
Docker, Inc.
Docker
the OpenJS Foundation
Node.js and Electron
Cloudflare, Inc.
Cloudflare and R2
Amazon.com, Inc. or its affiliates
Amazon Web Services, AWS and Amazon S3
GitHub, Inc.
GitHub
the OpenStreetMap Foundation
OpenStreetMap
Yoast BV
Yoast
reMarkable AS
reMarkable, reMarkable 2 and reMarkable Paper Pro

cURL, Python, Ollama, Backblaze, Wasabi, MinIO, GeoNames, OpenTopoMap, NVD (National Vulnerability Database), the security advisory databases named on the project pages, and every other product, brand or company name shown on this site or inside its screenshots are the property of their respective owners. This product uses data from the NVD API but is not endorsed or certified by the NVD. Each mark is used nominatively — to identify the software, platforms or data sources concerned — and never as a badge of origin, quality or endorsement.