Skip to content

An open-source developer tool that provides a curated list of free APIs. Easily search, explore, and test APIs right from your browser! πŸ› οΈπŸŒ

Notifications You must be signed in to change notification settings

ComputerAnything/api_looter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ api_looter

Overview

api_looter is an open-source developer tool that provides a curated list of free APIs. Easily search, explore, and test APIs right from your browser! πŸ› οΈπŸŒ


✨ Features

  • πŸ” Searchable API Directory: Find APIs fast with instant search.
  • πŸ“„ Detailed API View: See descriptions, endpoints, and required parameters.
  • πŸ§ͺ Live API Testing: Fill out forms and make real API callsβ€”see results instantly.
  • πŸ’‘ User-Friendly Interface: Clean, responsive design for productivity.
  • πŸ†“ Open Source: MIT licensed and ready for contributions!

πŸ–ΌοΈ Screenshots

Home Page Home page with searchable API directory

API Detail Detailed API view and live testing


🚦 Installation

  1. Clone the repository:

    git clone https://github.com/Computer-Anything/api_looter.git
  2. Navigate to the project directory:

    cd api_looter
  3. Install dependencies:

    pip install -r requirements.txt

▢️ Usage

  1. Set up the database:

    python -m flask db init
    python -m flask db migrate
    python -m flask db upgrade
  2. Seed the database with sample data:

    python -m app.seed
  3. Run the application:

    flask run
  4. Open your browser: Go to http://127.0.0.1:5000 to start adding and testing some API's api_looter!


🐳 Docker Compose Setup

If you prefer to run the application using Docker, you can use the provided docker-compose.yml file.

  1. Build and run the Docker containers:

    docker-compose up --build
  2. Access the application: Open your browser and go to http://localhost:5000.

  3. Stop the containers: To stop the containers, press Ctrl + C in the terminal where you ran the docker-compose command.

  4. Remove the containers: If you want to remove the containers and free up resources, run:

    docker-compose down
  5. Access the database: You can access the PostgreSQL database using a database client like pgAdmin or DBeaver. The connection details are as follows:

    • Host: db
    • Port: 5432
    • Database: api_looter
    • User: postgres
    • Password: password

βž• Adding Your Own APIs

To add a new API, simply add an APIModel entry to the apis list in app/seed.py. No code changes are needed for most APIs!

Example:

APIModel(
    name="My Cool API",
    description="Does something awesome.",
    endpoint="https://api.example.com/endpoint",
    parameters=[
        {"name": "param1", "label": "Parameter 1", "type": "text", "required": True}
    ]
),

Advanced: If your API returns data in a very unique way and you want to customize how the response is displayed, you can add a helper function in app/api_helpers.py. This is optional and only needed for special cases!


For most APIs, just editing seed.py is all you need.

🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.


🧹 Code Quality

This project uses ruff for linting. To check your code:

pip install ruff
ruff .

You can adjust which warnings are ignored in pyproject.toml.


πŸ› οΈ Technologies Used

  • Flask: Web framework for Python.
  • PSQL: Database for storing API data.
  • HTML/CSS: For the frontend.
  • JavaScript: For dynamic API testing.

πŸ“„ License

Licensed under the MIT License. Happy hacking! πŸ’»βœ¨

About

An open-source developer tool that provides a curated list of free APIs. Easily search, explore, and test APIs right from your browser! πŸ› οΈπŸŒ

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published