API Documentation

Welcome to the Fraud BD API documentation. This API allows you to check courier information and status programmatically.

Before you begin

You'll need an API key to access our endpoints. You can find your API key in your account settings.

Authentication

All API requests must include your API key, username, and password in the headers. The API key is used to authenticate your requests and ensure that only authorized users can access the API.

POST /api/check-courier-info
POST /api/check-courier-info/{courier_name}
POST /api/bulk/check-courier-info
POST /api/check-process-status

Headers

Parameter Type Required Description
api_key string Yes Your unique API key
user_name string Yes Your account username
password string Yes Your account password
Content-Type string Yes Must be application/json

Base URL

All API endpoints are relative to this base URL:

https://fraudbd.com

Example endpoint:

https://fraudbd.com/api/check-courier-info

Important

Always use HTTPS for all API requests. Unencrypted HTTP requests will be rejected.

Check Courier Info

Check courier information for a specific phone number across all supported couriers.

POST /api/check-courier-info

Request Headers

{
    "Content-Type": "application/json",
    "api_key": "your_api_key",
    "user_name": "your_username",
    "password": "your_password"
}

Request Parameters

Parameter Type Required Description
phone_number string Yes Phone number to check (e.g. "017XXXXXXXX")

Example Request

{
    "phone_number": "017XXXXXXXX"
}
curl -X POST https://fraudbd.com/api/check-courier-info \
-H "Content-Type: application/json" \
-H "api_key: your_api_key" \
-H "user_name: your_username" \
-H "password: your_password" \
-d '{
    "phone_number": "017XXXXXXXX"
}'

Response

{
    "status": true,
    "message": "Courier info retrieved successfully.",
    "data": {
        "Summaries": {
            "Pathao": {
                "logo": "https://example.com/pathao-logo.png",
                "total": 12,
                "success": 10,
                "cancel": 2
            },
            "Steadfast": {
                "logo": "https://example.com/steadfast-logo.png",
                "total": 8,
                "success": 7,
                "cancel": 1
            },
            "Paperfly": {
                "logo": "https://example.com/paperfly-logo.png",
                "total": 5,
                "success": 4,
                "cancel": 1
            },
            "Redx": {
                "logo": "https://example.com/redx-logo.png",
                "total": 3,
                "success": 2,
                "cancel": 1
            }
        },
        "totalSummary": {
            "total": 28,
            "success": 22,
            "cancel": 6,
            "successRate": 79,
            "cancelRate": 21
        }
    }
}

Pro Tip

Use this endpoint when you need to check courier information across all supported services with a single request.

Individual Courier Info

Check courier information for a specific phone number with a particular courier service.

POST /api/check-courier-info/{courier_name}

URL Parameters

Parameter Type Required Description
courier_name string Yes Courier service name (e.g. "pathao", "steadfast")

Example Endpoints

POST https://fraudbd.com/api/check-courier-info/pathao
POST https://fraudbd.com/api/check-courier-info/steadfast

Request Headers

{
    "Content-Type": "application/json",
    "api_key": "your_api_key",
    "user_name": "your_username",
    "password": "your_password"
}

Body Parameters

Parameter Type Required Description
phone_number string Yes The phone number to check (e.g. "017XXXXXXXX")

Example Request

{
    "phone_number": "017XXXXXXXX"
}
curl -X POST https://fraudbd.com/api/check-courier-info/pathao \
-H "Content-Type: application/json" \
-H "api_key: your_api_key" \
-H "user_name: your_username" \
-H "password: your_password" \
-d '{
    "phone_number": "017XXXXXXXX"
}'

Response

{
            "status": true,
            "message": "Courier info retrieved successfully.",
            "data": {
                "Summaries": {
                    "Pathao": {
                        "logo": "https://example.com/pathao-logo.png",
                        "total": 12,
                        "success": 10,
                        "cancel": 2
                    }
                },
                "totalSummary": {
                    "total": 12,
                    "success": 10,
                    "cancel": 2,
                    "successRate": 83.33,
                    "cancelRate": 16.67
                }
            }
        }

Pro Tip

Use this endpoint when you need courier information from a specific service provider. The response includes detailed statistics for the requested courier only.

Bulk Check Courier Info

Check courier information for multiple phone numbers in a single request.

POST /api/bulk/check-courier-info

Request

Headers

{
    "Content-Type": "application/json",
    "api_key": "your_api_key",
    "user_name": "your_username",
    "password": "your_password"
}

                    

Body Parameters

Parameter Type Required Description
phone_numbers string Yes Comma-separated list of phone numbers (e.g. "017XXXXXXXX,018XXXXXXXX")

Example Request

{
    "phone_numbers": "017XXXXXXXX,018XXXXXXXX,019XXXXXXXX"
}

                    

cURL Example


    curl -X POST https://fraudbd.com/api/bulk/check-courier-info \
    -H "Content-Type: application/json" \
    -H "api_key: your_api_key" \
    -H "user_name: your_username" \
    -H "password: your_password" \
    -d '{
        "phone_numbers": "017XXXXXXXX,018XXXXXXXX,019XXXXXXXX"
    }'


                    

Response

{
    "status": true,
    "message": "Courier info check has been queued. You can check the status later.",
    "data": {
        "process_id": "ABC123",
        "status": "queued"
    }
}

                    

Limitations

Maximum 30 phone numbers per request. For larger batches, please contact support.

Check Process Status

Check the status of a bulk check process and retrieve the results when completed.

POST /api/bulk/check-process-status

Request

Headers

{
    "Content-Type": "application/json",
    "api_key": "your_api_key",
    "user_name": "your_username",
    "password": "your_password"
}

                    

Body Parameters

Parameter Type Required Description
process_id string Yes The process ID returned from the bulk check request

Example Request

{
    "process_id": "ABC123"
}

                    

cURL Example


    curl -X POST https://fraudbd.com/api/bulk/check-process-status \
    -H "Content-Type: application/json" \
    -H "api_key: your_api_key" \
    -H "user_name: your_username" \
    -H "password: your_password" \
    -d '{
        "process_id": "ABC123"
    }'


                    

Response

Possible status values:

  • queued - The request is waiting to be processed
  • processing - The request is currently being processed
  • completed - The request has been processed successfully
  • failed - The request failed to process
{
    "status": true,
    "message": "Process status retrieved successfully.",
    "data": {
        "status": "completed",
        "message": "Processing completed",
        "result": {
            "017XXXXXXXX": {
                "Summaries": {
                    "Pathao": {
                        "logo": "https://example.com/pathao-logo.png",
                        "total": 12,
                        "success": 10,
                        "cancel": 2
                    },
                    "Steadfast": {
                        "logo": "https://example.com/steadfast-logo.png",
                        "total": 8,
                        "success": 7,
                        "cancel": 1
                    },
                    "Paperfly": {
                        "logo": "https://example.com/paperfly-logo.png",
                        "total": 5,
                        "success": 4,
                        "cancel": 1
                    },
                    "Redx": {
                        "logo": "https://example.com/redx-logo.png",
                        "total": 3,
                        "success": 2,
                        "cancel": 1
                    }
                },
                "totalSummary": {
                    "total": 28,
                    "success": 22,
                    "cancel": 6,
                    "successRate": 79,
                    "cancelRate": 21
                }
            },
            "018XXXXXXXX": {
                "Summaries": {
                    "Pathao": {
                        "logo": "https://example.com/pathao-logo.png",
                        "total": 5,
                        "success": 4,
                        "cancel": 1
                    },
                    "Steadfast": {
                        "logo": "https://example.com/steadfast-logo.png",
                        "total": 3,
                        "success": 2,
                        "cancel": 1
                    },
                    "Paperfly": {
                        "logo": "https://example.com/paperfly-logo.png",
                        "total": 2,
                        "success": 2,
                        "cancel": 0
                    },
                    "Redx": {
                        "logo": "https://example.com/redx-logo.png",
                        "total": 1,
                        "success": 1,
                        "cancel": 0
                    }
                },
                "totalSummary": {
                    "total": 11,
                    "success": 9,
                    "cancel": 2,
                    "successRate": 82,
                    "cancelRate": 18
                }
            }
        }
    }
}

                    

Response Codes

The API uses standard HTTP status codes to indicate success or failure:

Code Status Description
200 OK The request was successful
201 Created The request was successful and a resource was created
400 Bad Request The request was malformed or missing required parameters
401 Unauthorized Authentication failed or user doesn't have permissions
403 Forbidden Authenticated but not authorized to access the resource
404 Not Found The requested resource was not found
429 Too Many Requests Rate limit exceeded
500 Internal Server Error An error occurred on the server

Error Handling

When an error occurs, the API will return a JSON response with details about the error:

{
    "status": false,
    "message": "The phone number must be a valid Bangladeshi number starting with 01 and followed by 9 digits. For example: 01XXXXXXXXX.",
    "data": null
}

            
{
    "status": false,
    "message": "Usage limit (daily) reached. Please upgrade your plan.",
    "data": null
}

            

Common Errors

  • Invalid API key - Check that your API key is correct
  • Missing required headers - Ensure all required parameters are included
  • Unauthorized - Your API Key, username or password is incorrect
  • Email Unverified - Your email address is not verified
  • Rate limit exceeded - You've made too many requests too quickly
  • No active plan found - You don't have an active plan. Please go to your account settings to upgrade your plan.
  • Usage limit (daily) reached. Please upgrade your plan - You've reached your daily usage limit. Please upgrade your plan to increase your limits.

Rate Limiting

To ensure fair usage and maintain service quality, the API has the following rate limits:

Endpoint Limit Window
All endpoints 60 requests per minute
Bulk check 5 requests per minute

When you exceed the rate limit, the API will return a 429 Too Many Requests response.

Need higher limits?

If you need higher rate limits for your application, please contact us about our premium plans.