npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

callfetch

v1.0.2

Published

Simple CLI to call APIs using fetch

Readme

NPM

GitHub Sponsors

callfetch

Simple CLI to call APIs using fetch — interactively choose method, headers and body or pass a URL directly.

Author: Ankit K Kashyap

What is this all about?

callfetch is a small Node.js command-line tool for quickly calling HTTP APIs. It's useful for testing endpoints, debugging webhooks, or making one-off requests without writing code. It supports interactive prompts for method, content-type and body, and accepts a URL argument for quick requests.

Installation

Using npx (no install required):

npx callfetch https://example.com/api

Install globally with npm:

npm i -g callfetch
# then run
callfetch https://example.com/api

Or add to your project:

npm i callfetch
# require/import and use if needed (the package is a CLI entrypoint)

How to host / use / run

  • Quick call by passing URL as first argument:
npx callfetch https://httpbin.org/get
  • Interactive mode (no URL provided):
#npx callapi
npx callfetch
# You'll be prompted for URL, method, content-type and body (for POST/PUT/PATCH)
  • Run directly with Node (for development):
node cli.js https://example.com

What prompts look like

  • URL (if not provided)
  • HTTP method: GET, POST, PUT, DELETE, PATCH
  • Content-Type: text/plain, application/json, application/x-www-form-urlencoded
  • For POST/PUT/PATCH — you'll be asked for raw body text. If using application/x-www-form-urlencoded, the tool will parse key=value pairs and send a proper urlencoded body.

Examples

GET request:

npx callfetch https://httpbin.org/get

POST JSON (interactive):

npx callapi
# choose POST, application/json, then paste JSON body

POST form urlencoded (interactive):

Enter body like:

name=Ankit&msg=hello

The CLI will convert that into application/x-www-form-urlencoded format.

For development

  1. Clone the repo
  2. Install dependencies
npm i
  1. Run locally
npm start
# or
node cli.js

Files included in the package

Only cli.js is included in the published package (see package.json files field).

Notes & edge cases

  • node-fetch is used and the package is ESM (type: "module").
  • If you provide malformed JSON for a JSON content-type, the server may reject it — the CLI does not validate JSON before sending.
  • application/x-www-form-urlencoded input is expected as key=value&key2=value2 or similar; the CLI will parse it using URLSearchParams and re-encode using qs.

License

MIT

Donations / Support

If you like this project and want to support maintenance and development, you can:

Buy me a Dosha :

Open Collective GitHub Sponsors