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 🙏

© 2025 – Pkg Stats / Ryan Hefner

curlx

v0.0.12

Published

Supercharge API interaction with history, collections and more.

Downloads

18

Readme

curlx is a simple command line HTTP client that keeps track of request history, helps you organize your requests into collections, run and test frequent calls faster and more.

Getting Started

Install curlx

npm install curlx -g

Make sure to have nodejs version 8.0 or above.

Available options

Help

cx help

Displays help menu with a list of available options

History

cx history

Displays list of recent requests made with cx

Collections

cx collections

Displays an iterable list of created collections. Collections are a group of requests.

New

cx new collection

Walks you through a prompt for creating a new collection.

cx new request

Walks you through saving a new request to an existing collection. If the collection does not exist already, create using cx new collection command

Delete

cx delete <id>

Deletes request with request_id present in history

cx delete <collection_name:request_id>

Deletes a request with request_id in collection collection_name

cx delete <collection_name> --collection

Deletes the collection and all its requests

Run

cx run <request_id>

Runs the request with id request_id present in history again

cx run <collection_name:request_id>

Runs the request with id request_id present inside collection collection_name

Make requests

Use cx or curlx just like how you would use cURL.

Here's a simple GET call:

$ cx -X GET "https://httpbin.org/get"

HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Mon, 25 Mar 2019 06:02:02 GMT
Server: nginx
Content-Length: 202
Connection: keep-alive

{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.54.0"
  },
  "origin": "73.222.138.87, 73.222.138.87",
  "url": "https://httpbin.org/get"
}

Sharing

All your collections and history are stored locally in your machine. Navigate to cxdb in your root folder. Example:

$ cd ~/cxdb

$ ls
collections.json history.json

$ cat collections.json
{
  "collections": {
    "Test": [
      {
        "id": "ANRfSkWYU",
        "name": "Post test call",
        "method": "post",
        "command": "curl -i \"-X\" \"POST\" \"https://httpbin.org/post\"",
        "url": "https://httpbin.org/post"
      }
    ],
    "mycoolapp": [
      {
        "id": "KvUx9H9t6",
        "name": "users",
        "method": "get",
        "command": "curl -i 'http://localhost:3000/api/users',
        "url": "http://localhost:3000/api/users"
      }
    ]
  }
}

In this example, There are two collections Test and mycoolapp with 1 request each. To run, say, the users request in mycoolapp,

$ cx run mycoolapp:KvUx9H9t6

HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Mon, 25 Mar 2019 06:02:02 GMT
Server: nginx
Content-Length: 202
Connection: keep-alive

[{
  "userId": 1,
  "id": 1,
  "name": "Richard Hendricks",
  "company": "Pied Piper"
}, {
  "userId": 2,
  "id": 2,
  "name": "Gavin Belson",
  "company": "Hooli"
}]

Since since are just json files, you can easily share these with another user. Simple add the collections to an existing collection and they will be available via the CLI.