Developer API

ChanduSEOTool API Documentation

Use your API key to run SEO, image, PDF, and document tools from your own website, app, or automation workflow. Billing is applied only on successful tool requests. Account, usage, and catalog checks are free.

1. Copy API Key

Open your profile page, copy the API Key shown under API Access, and keep it private.

2. Send Bearer Token

Pass the key in the Authorization header with every API request.

3. Track Usage

Use the usage endpoint to check remaining credits and monthly request limits without spending credits.

Base URL and Authentication

Base URL: https://api.chanduseotool.com/api

cURL
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.chanduseotool.com/api/v1/me/usage

Free Account Endpoints

Method Endpoint Purpose
GET /v1/me/usage Check plan, quota, credits used, and remaining credits. This endpoint is non-billable.
GET /v1/tools List available tools and their slugs. This endpoint is non-billable.
GET /v1/jobs/{job} Check async job status. This endpoint is non-billable.

Run a Tool

Tool requests use this endpoint format. Successful tool requests spend credits.

Endpoint
POST https://api.chanduseotool.com/api/v1/tools/{tool_slug}
cURL
curl -X POST "https://api.chanduseotool.com/api/v1/tools/word-counter" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"ChanduSEOTool API is ready."}'

Common Tool Examples

Tool Slug Example Payload
Word Counter word-counter {"text":"Your text here"}
Domain Authority Checker domain-authority-checker {"url":"https://example.com"}
Background Remover background-remover {"image_url":"https://example.com/photo.jpg"}
PDF to Word pdf-to-word {"pdf_url":"https://example.com/file.pdf"}
Word to PDF word-to-pdf {"file_url":"https://example.com/file.docx"}
PDF Compressor pdf-compressor {"pdf_url":"https://example.com/file.pdf"}
For file tools, you can usually send a public file URL or base64 content, depending on the tool. Use /v1/tools to confirm exact available slugs.

PHP Example

PHP cURL
<?php
$apiKey = 'YOUR_API_KEY';
$payload = ['text' => 'Your text here'];

$ch = curl_init('https://api.chanduseotool.com/api/v1/tools/word-counter');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($payload),
]);

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

$data = json_decode($response, true);
print_r($data);

Laravel Example

Use this inside a Laravel controller, job, or service class.

Laravel HTTP Client
use Illuminate\Support\Facades\Http;

$apiKey = env('CHANDUSEOTOOL_API_KEY');

$response = Http::withToken($apiKey)
    ->acceptJson()
    ->post('https://api.chanduseotool.com/api/v1/tools/word-counter', [
        'text' => 'Your text here',
    ]);

if ($response->successful()) {
    $data = $response->json();
}
Add CHANDUSEOTOOL_API_KEY=your_key_here in your Laravel .env file and never expose it in frontend JavaScript.

JavaScript Example

Node.js / Server JavaScript
const response = await fetch('https://api.chanduseotool.com/api/v1/tools/word-counter', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ text: 'Your text here' })
});

const data = await response.json();
console.log(data);
Use this from your server, not directly in browser code, because browser code exposes your private API key.

WordPress Example

Add this as a small plugin or inside a private theme helper. It creates a shortcode: [cst_word_count text="Your text here"]

WordPress Shortcode
<?php
/*
Plugin Name: ChanduSEOTool API Example
*/

add_shortcode('cst_word_count', function ($atts) {
    $atts = shortcode_atts([
        'text' => 'Your text here',
    ], $atts);

    $response = wp_remote_post('https://api.chanduseotool.com/api/v1/tools/word-counter', [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_KEY',
            'Content-Type' => 'application/json',
        ],
        'body' => wp_json_encode([
            'text' => $atts['text'],
        ]),
        'timeout' => 30,
    ]);

    if (is_wp_error($response)) {
        return 'API request failed.';
    }

    $data = json_decode(wp_remote_retrieve_body($response), true);

    if (!($data['success'] ?? false)) {
        return $data['error']['message'] ?? 'API error.';
    }

    return 'Words: ' . esc_html($data['data']['words'] ?? 0);
});

Async Jobs

Large file tools may return a queued job. Save the request_id or status_url and check the job endpoint until it is completed.

cURL
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.chanduseotool.com/api/v1/jobs/JOB_REQUEST_ID

Error Codes

HTTP Code Meaning
401 invalid_api_key API key is missing, wrong, inactive, or regenerated.
403 tool_not_allowed Your plan does not include this tool.
404 tool_not_found Tool slug is not available.
422 validation_failed Required input is missing or invalid.
429 quota_exceeded Monthly API quota has been used.
500 processing_failed The tool request could not be processed.

Credit Rules

  • Profile refresh, usage checks, tools catalog, and job status checks do not spend credits.
  • Successful tool requests spend credits according to the tool cost unit.
  • Failed validation or unauthorized requests do not spend credits.
  • If you regenerate your API key, update the new key in your website or application.

API Documentation

Ready examples for using your API key on any website or application.


Avatar

CHANDU

CEO / Co-Founder

I build smart, free tools that help creators, marketers, and website owners grow faster — whether it’s YouTube trends, SEO insights, domain analytics, or content optimization.