borocode
DocsLog inGet API key

API documentation

Base URL: https://borocode.cloud/api/v1

Use it from any language or cloud
PythonJavaScriptNode.jsGoAWSAWSGoogle CloudCloudflare

Authentication

Every service has its own API key. Create it on the service's API Key page in the dashboard and send it in theAuthorization header: Authorization: Bearer <key>. Keys start with bc_scr_ (Scraper), bc_fe_ (Frontend Hosting) or bc_be_ (Backend Hosting). Keep keys on your server, never in browser code.

Web Data Extraction & Automation

POST/api/v1/scrape

Fetch any public page. Send { "url": "https://..." }. Each call counts as one request against your plan.

import requests

res = requests.post(
    "https://borocode.cloud/api/v1/scrape",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"url": "https://example.com"},
    timeout=60,
)
data = res.json()
if res.ok:
    print(data["title"], len(data["html"]))
else:
    print("Error", res.status_code, data["error"])

Response:

{
  "url": "https://example.com/",
  "status_code": 200,
  "title": "Example Domain",
  "length": 1256,
  "html": "<!doctype html>..."
}

Headers X-RateLimit-Limit and X-RateLimit-Remaining show your quota on every response.

Managed Frontend Hosting

GET/api/v1/frontend/info

Returns your Frontend Hosting plan, resources and expiry. Needs a Frontend Hosting key and an active plan.

import requests

res = requests.get(
    "https://borocode.cloud/api/v1/frontend/info",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    timeout=30,
)
data = res.json()
if res.ok:
    print(data["plan"], data["resources"], data["active_until"])
else:
    print("Error", res.status_code, data["error"])

Managed Backend Hosting

GET/api/v1/backend/info

Returns your Backend Hosting plan, CPU, RAM, storage and expiry. Needs a Backend Hosting key and an active plan.

import requests

res = requests.get(
    "https://borocode.cloud/api/v1/backend/info",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    timeout=30,
)
data = res.json()
if res.ok:
    print(data["plan"], data["resources"], data["active_until"])
else:
    print("Error", res.status_code, data["error"])

Response:

{
  "service": "Backend Hosting",
  "plan": "Backend Hosting",
  "status": "active",
  "active_until": "2026-11-29T10:00:00.000Z",
  "resources": { "cpu": "2 vCPU", "ram": "4 GB", "storage": "60 GB NVMe", "bandwidth": "2 TB / mo" },
  "features": ["Node.js, Python, Go or any Docker image", "..."]
}

Check usage

GET/api/v1/usage

Works with any key and doesn't count as a request. Returns the plan, quota, used, remaining and expiry for that key's service.

Errors

Errors always come back as JSON: { "error": "message" }.

StatusMeaningWhat to do
400Bad requestThe body is missing or invalid, e.g. no "url".
401UnauthorizedNo key, a wrong key, or a key you regenerated (old keys stop working).
402Payment requiredThis service has no active plan. Buy or renew it in the dashboard.
403Wrong serviceThe key belongs to a different service (e.g. a Data Extraction key on a hosting endpoint).
429Quota used upYou've used this period's requests. Upgrade, or wait for the 30-day reset.
502 / 504Upstream problemThe target site failed or timed out. Safe to retry after a few seconds.

Payments

Plans are prepaid for 30 days through Cashfree Payments (UPI, cards, netbanking, wallets) and never renew automatically. Your key gets the new plan within seconds of payment. If your internet drops or you close the tab mid-payment, the payment is still picked up automatically and appears under Billing & credits. Paying twice never loses money: the same plan adds 30 more days, and a different plan converts your leftover days by price.

Create an account to get your keys.