GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - annithehunter/APIFuzz: A lightweight Python API endpoint fuzzer that discovers valid endpoints and displays their response content directly in the terminal.

BranchesTags
Open more actions menu

Latest commit

 

History

3 Commits
3 Commits

Folders and files

NameName
Last commit message
Last commit date
README.md
README.md
 
 
apifuzz.py
apifuzz.py
 
 

Repository files navigation

APIFuzz šŸš€

A lightweight Python-based API endpoint fuzzing tool that discovers valid API endpoints and displays their response content directly in the terminal.

šŸ“Œ Motivation

While using tools like ffuf for endpoint enumeration, I noticed that although they efficiently identify valid endpoints, I still had to manually visit each endpoint in a browser or use additional tools to inspect the response.

To streamline this process, I created APIFuzz.

APIFuzz not only identifies valid endpoints but also displays:

  • Endpoint path
  • HTTP status code
  • Response content

All directly inside the terminal.


✨ Features

  • Endpoint enumeration using custom wordlists
  • Displays valid endpoints
  • Shows HTTP status codes
  • Prints API response content
  • Colorized terminal output
  • Simple and lightweight

šŸ›  Requirements

  • Python 3.x
  • requests
  • termcolor

Install dependencies:

pip install requests termcolor

šŸ“‚ Usage

python3 apifuzz.py <API_URL> <WORDLIST>

Example

python3 apifuzz.py http://target-api.com/ wordlist.txt

šŸ“ø Example Output

[*] checking for endpoints...

[+] Endpoint: /users Status Code: 200
{'id': 1, 'name': 'admin'}

[+] Endpoint: /products Status Code: 200
{'items': ['item1', 'item2']}

āš™ļø How It Works

  1. Accepts a target API URL.
  2. Reads endpoints from a wordlist.
  3. Sends GET requests to each endpoint.
  4. Ignores 404 responses.
  5. Prints valid endpoints and their response content.

šŸ“ Project Structure

APIFuzz/
│
ā”œā”€ā”€ apifuzz.py
ā”œā”€ā”€ wordlist.txt
└── README.md

šŸš€ Future Improvements

  • Multithreading support
  • Custom headers
  • Authentication support
  • Rate limiting
  • JSON/CSV output
  • POST request support
  • Response filtering

šŸ‘Øā€šŸ’» Author

Aniruddh Kumar Yadav

GitHub: https://github.com/annithehunter

LinkedIn: https://linkedin.com/in/annithehunter


āš ļø Disclaimer

This tool is intended for educational purposes and authorized security testing only. Always obtain proper permission before testing any target.

About

A lightweight Python API endpoint fuzzer that discovers valid endpoints and displays their response content directly in the terminal.

Topics

api-securityapi-testingbug-bountycybersecurityendpoint-discoveryethical-hackingfuzzerpythonreconnaissancerequests

Resources

Readme
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Ɨ600. No cookies required.