API Documentation

This API allows users to submit tasks containing one or more hashes for processing. Below you'll find details on how to use the API, including required parameters, accepted values, and response formats.

Endpoint

POST https://api.onlinehashcrack.com/v2

Request Parameters

All parameters should be included in the JSON body of the POST request.

Parameter Type Description Required
api_key String The free API key starts with sk_. Generated from this page. Yes
agree_terms String Confirmation that you agree to the Terms & Conditions. Allowed values are "yes" or "no". Yes
algo_mode Integer An integer specifying the algorithm mode, which can be found here. Eg: 0 for MD5. Yes
hashes Array of strings An array of hash strings. Maximum of 50 hashes. Yes
receive_email String Optional parameter to receive an email confirmation after each hash added.
Allowed values are "yes" or "no". Default: "yes".
No

Terms & Conditions Agreement

Note: By setting agree_terms to "yes", you confirm that you have read and agree to our Terms & Conditions of using this API.

Example Request

curl -X POST "https://api.onlinehashcrack.com/v2" \
    -H "Content-Type: application/json" \
    -d '{
      "api_key": "sk_XXX",
      "agree_terms": "yes",
      "algo_mode": 0,
      "hashes": ["8124BC0A5335C27F086F24BA2C7A4810"]
    }'
				
import requests

url = "https://api.onlinehashcrack.com/v2"
headers = {"Content-Type": "application/json"}
data = {
    "api_key": "sk_XXX",
    "agree_terms": "yes",
    "algo_mode": 0,
    "hashes": ["8124BC0A5335C27F086F24BA2C7A4810"]
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
$url = "https://api.onlinehashcrack.com/v2";
$data = [
    "api_key" => "sk_XXX",
    "agree_terms" => "yes",
    "algo_mode" => 0,
    "hashes" => ["8124BC0A5335C27F086F24BA2C7A4810"]
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
require 'net/http'
require 'json'
require 'uri'

uri = URI.parse("https://api.onlinehashcrack.com/v2")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

headers = { 'Content-Type' => 'application/json' }
data = {
  api_key: "sk_XXX",
  agree_terms: "yes",
  algo_mode: 0,
  hashes: ["8124BC0A5335C27F086F24BA2C7A4810"]
}

response = http.post(uri.path, data.to_json, headers)
puts response.body
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	url := "https://api.onlinehashcrack.com/v2"
	data := map[string]interface{}{
		"api_key":     "sk_XXX",
		"agree_terms": "yes",
		"algo_mode":    0,
		"hashes":      []string{"8124BC0A5335C27F086F24BA2C7A4810"},
	}

	jsonData, _ := json.Marshal(data)
	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer resp.Body.Close()

	var result map[string]interface{}
	json.NewDecoder(resp.Body).Decode(&result)
	fmt.Println(result)
}
const axios = require('axios');

const url = 'https://api.onlinehashcrack.com/v2';
const headers = { 'Content-Type': 'application/json' };
const data = {
    api_key: 'sk_XXX',
    agree_terms: 'yes',
    algo_mode: 0,
    hashes: ['8124BC0A5335C27F086F24BA2C7A4810']
};

axios.post(url, data, { headers })
    .then(response => console.log(response.data))
    .catch(error => console.error('Error:', error));

Response Format

The API returns a JSON response with the following structure:

Success Response

{
    "success": true,
    "message": "Tasks received successfully.",
    "task_count": <number of tasks>
}

Error Response

{
    "success": false,
    "message": "Description of the error.",
}

Response Codes

HTTP Status Code Description
200 OK Request was successful.
400 Bad Request Validation errors occurred. Check your parameters and the response description.
401 Unauthorized Invalid API key provided.
405 Method Not Allowed Invalid request method. Only POST requests are allowed.
429 Too Many Requests Rate limit exceeded. Please wait before making more requests.
500 Internal Server Error An error occurred on the server.

Rate Limiting

To prevent misuse, the API enforces rate limiting based on the verification level of your Tier profile (see your Profile)

  • Maximum of 2 requests per hour per API key for Tier 1.
  • Maximum of 50 requests per hour per API key for Tier 2.
  • Maximum of 100 requests per hour per API key for Tier 3.
  • Contact us if you need more or have specific needs.

If you exceed this limit, you will receive a 429 Too Many Requests response.

{
    "success": false,
    "message": "Rate limit exceeded. Please try again later."
}