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.
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.
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.
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.
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.
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.