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

ifunny.ts

v0.10.0

Published

An iFunny API wrapper written in TypeScript

Downloads

44

Readme

iFunny.ts

License npm

The go-to iFunny API wrapper library written in TypeScript! Reverse engineered from the ground up, taking heavy inspiration from discord.js!

Full documentation can be found here

Authors

Quick Start Guide

While the iFunny client is able to do quite a bit without logging in, to use the full feature set you'll want to get authorization.

There are 2 ways to get a basic token and a bearer token

  1. Use a packet sniffer while already logged in to iFunny.
  2. Use the iFunny.ts client to login and generate new basic and bearer tokens

I won't be walking you through the first option as that is a lengthy process of setting up and configuring.

Instead, I'll walk you through using the custom Client.

If you don't want to write any code, you can clone the repo, and run the "login" script

[!IMPORTANT] The login script that comes with this is likely to be replaced by ifunny-auth in the future, and we recommend using that instead

git clone https://github.com/MakeShiftArtist/iFunny.ts.git

cd iFunny.ts

deno run -A ./scripts/login.ts

This will prompt you to enter your username and password

Enter your iFunny username (email address): [email protected]
Enter your iFunny password: *********
Re-enter your iFunny password: *********
Priming Basic Token...
Basic Primed! RTJCM0FENzlCMkNCNDgyOEFBNTc2QjIyNEEyREQ4MDFfTXNPSUozOVEyODpmOTMyMjE3N2ZhYTM1MTVjMjZlN2M1MjY5NTcyYzY4M2VmYTk5YzZl
Replace `const BASIC = null` with your basic token
Logging in...
Captcha error!
Human verification is required: https://ifunny.co/captcha/c272fd81558bcf.24861254
Open the link above in a browser, solve the captcha, and run the script again.

Priming the basic token takes 15 seconds to complete. The long string of characters after "Basic Primed!" is your Basic Token. Save that and set it for the BASIC variable in ./login.ts Once that's done, solve the captcha and run the script again.

npm run login

After entering your credentials once more, you should get sucessfully logged in

Enter your iFunny username (email address): [email protected]
Enter your iFunny password: *********
Re-enter your iFunny password: *********
Logging in...
Logged in successfully!
Basic Token: RTJCM0FENzlCMkNCNDgyOEFBNTc2QjIyNEEyREQ4MDFfTXNPSUozOVEyODpmOTMyMjE3N2ZhYTM1MTVjMjZlN2M1MjY5NTcyYzY4M2VmYTk5YzZl
Bearer Token: 0d8527df847cb15b1c808422a7b150951fe7452bdb0a04d0c2bf920d2a302466

Once you see these, you'll want to save these somewhere secure. NEVER SHARE THESE WITH ANYONE. A bearer token grants full control over your account.

Example Usage

Install iFunny.ts

npm install ifunny.ts
import iFunnyClient from "ifunny.ts";

const client = new iFunnyClient({
    basic: process.env.BASIC,
    bearer: process.env.BEARER,
});

async function main() {
    const user = client.users.byNick("iFunnyChef");
    if (user) {
        console.log(user.id);
        await user.suscribe();
    }
}

Links