#board #education #captcha #solve #grade #reg #grades #exam #bangladesh #father

app EduBoardAPI

API Wrapper For Bangladesh Education Board Website

1 unstable release

Uses new Rust 2024

0.1.0 Sep 28, 2025

#842 in Network programming

MIT license

25KB
408 lines

Bangladesh Education Board Results API

A fast, reliable REST API for fetching Bangladesh Education Board results. Built with Rust and Axum for high performance and reliability.

Features

  • 🚀 Fast and efficient result fetching
  • 🔧 Built with Rust for performance and safety
  • 📊 Support for multiple examination types (SSC, HSC, JSC, etc.)
  • 🏫 All major education boards supported
  • 🔄 Automatic captcha solving
  • 📡 RESTful API with JSON responses
  • 📝 Comprehensive logging and error handling

Supported Examinations

  • SSC/Dakhil/Equivalent
  • JSC/JDC
  • SSC (Vocational)
  • HSC/Alim
  • HSC (Vocational)
  • HSC (BM)
  • Diploma in Commerce
  • Diploma in Business Studies

Supported Boards

  • Barisal
  • Chittagong
  • Comilla
  • Dhaka
  • Dinajpur
  • Jessore
  • Mymensingh
  • Rajshahi
  • Sylhet
  • Madrasah
  • Technical
  • DIBS (Dhaka)

API Usage

Endpoint

GET /fetch

Query Parameters

Parameter Type Required Description
exam string Yes Examination type (e.g., ssc)
year string Yes Year (1996-2025)
board string Yes Board name
roll string Yes Roll number (max 6 digits)
reg string Yes Registration number

Example Request

curl "http://localhost:3000/fetch?exam=ssc&year=2024&board=dhaka&roll=123456&reg=1234567890"

Example Response

{
  "roll": "123456",
  "reg": "1234567890",
  "name": "Student Name",
  "father_name": "Father's Name",
  "mother_name": "Mother's Name",
  "board": "Dhaka",
  "group": "Science",
  "exam_type": "Regular",
  "dob": "01-01-2008",
  "institute": "School Name",
  "result": "Passed",
  "gpa": "5.00",
  "grades": [
    {
      "subject": "Bangla",
      "grade": "A+"
    },
    {
      "subject": "English",
      "grade": "A"
    }
  ]
}

Installation

Prerequisites

Build from Source

# Clone the repository
git clone https://github.com/Junaid433/eduboardapi.git
cd eduboardapi

# Build the project
cargo build --release

# Run the server
cargo run --release

The API server will start on http://localhost:3000

Configuration

The server runs on port 3000 by default. You can modify this in src/main.rs:

let addr: SocketAddr = "0.0.0.0:3000".parse()?;

Development

# Run in development mode with hot reloading
cargo watch -x run

# Run tests
cargo test

# Check code quality
cargo clippy

# Format code
cargo fmt

Error Handling

The API returns appropriate HTTP status codes:

  • 200 OK - Successful request
  • 400 Bad Request - Invalid parameters or captcha error
  • 502 Bad Gateway - Network error or parsing error

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This API is for educational purposes only. The data belongs to the Bangladesh Education Board. Please use responsibly and in accordance with the board's terms of service.

Acknowledgments

  • Bangladesh Education Board for providing public access to results
  • The Rust community for excellent libraries and tools

Support

If you find this project helpful, consider:

  • ⭐ Starring the repository
  • 🐛 Reporting bugs
  • 💡 Suggesting new features
  • Buy me a coffee

Contact

Junaid Rahman - @Junaid Rahman

Project Link: https://github.com/Junaid433/eduboardapi

Dependencies

~14–32MB
~442K SLoC