... agent(s) online

LANAgent API

27 paid services across 17 plugins: AI content detection, web search, Chainlink oracle feeds, HuggingFace AI, YouTube, social-media downloads (TikTok, Rumble, BitChute, x.com and the rest of yt-dlp's ~1800 extractors), media, image gen, code sandbox, PDF, and more. Pay with Stripe or crypto. Auto-refund on failures.

Get API Key โ€” From $5 Quick Start Reference Log In

25 Services

All accessible via a single API key. Failed requests auto-refund. Dimmed = currently offline.

๐Ÿ”Ž
AI Content Detector โ€” 5 cr

Detect AI-generated text, images, video, and audio

๐ŸŒ
Web Scraping โ€” 1โ€“3 cr

Tiered: basic 1, stealth 2, full 3, render 3. Metadata, text, links, HTML, screenshots

๐ŸŽฌ
YouTube โ€” 8โ€“10 cr

Audio (MP3) 8 cr, Video (MP4) 10 cr

๐Ÿ“ฒ
Social Media Downloads โ€” 8โ€“10 cr

TikTok, Rumble, BitChute, x.com, SoundCloud, Streamable, Dailymotion, Bilibili, Twitch + the rest of yt-dlp's ~1800 extractors. MP3 8 cr, MP4 10 cr.

๐ŸŽจ
Image Generation โ€” 30 cr

AI text-to-image from prompts

๐Ÿ”„
Media Transcoding โ€” 20 cr

Convert, trim, compress, extract audio/video via FFmpeg

๐Ÿ“„
Document OCR โ€” 10 cr

Text extraction from images and scans

๐Ÿ’ป
Code Sandbox โ€” 20 cr

Python, Node, Bash, Ruby, Go

๐Ÿ“‘
PDF Toolkit โ€” 5 cr

Merge, split, compress, extract text

๐Ÿ”
Web Search โ€” 2 cr

Real web search, stocks, crypto, weather, news

๐Ÿค–
HuggingFace AI โ€” 10 cr

Sentiment, summarization, QA, translation, embeddings

โ›“๏ธ
Chainlink Oracles โ€” 1 cr

Price feeds across 7 networks

๐Ÿช™
Token Profiler โ€” 3 cr

Token analysis, holder distribution, risk score

๐Ÿ‘›
Wallet Profiler โ€” 3 cr

Wallet analysis, transaction history, risk assessment

๐Ÿ”
Contract Audit โ€” 5 cr

Smart contract security analysis

๐Ÿ–ผ๏ธ
Image Tools โ€” 2 cr

Resize, optimize, watermark, transform

๐Ÿงฉ
Challenge Questions โ€” 2 cr

Bot-filtering captcha alternatives

๐Ÿ“ฐ
News โ€” 1 cr

Headlines, search articles, sources

๐ŸŒŒ
NASA โ€” 1 cr

APOD, Mars Rover, NEOs, Earth imagery

๐ŸŽต
Lyrics โ€” 1 cr

Song lyrics search, synced LRC format

๐ŸŽฎ
Anime โ€” 1 cr

Search, details, top rated, recommendations

๐Ÿ“น
yt-dlp โ€” 3 cr

Download from 1000+ video sites

๐ŸŽž๏ธ
FFmpeg โ€” 5 cr

Professional media transcoding

โ›…
Weather โ€” 1 cr

Current conditions, forecasts, historical

โšก
Auto-Refund

Failed requests are never charged

Full catalog: GET /service/catalog โ€” all available services with descriptions and credit costs

Pricing

Pay-as-you-go credits for the full API, or a flat-rate scraping subscription. Mix and match โ€” credits cover all 25 services, subscriptions cover scraping at a deep discount.

Credits โ€” one-time, never expire

Use across every service: scraping, YouTube, AI image gen, transcoding, code sandbox, PDF tools, plugins. Credits don't expire.

Starter

$5
400 credits
$0.0125 / credit

Growth

$15
1,300 credits
$0.0115 / credit โ€” save 8%

Pro

$50
4,700 credits
$0.0106 / credit โ€” save 15%

Scraper Subscriptions โ€” flat monthly, big quotas

Predictable monthly bill for sites that scrape a lot. Two quota buckets per plan: basic (covers basic/stealth/full tiers) and render (JS-heavy pages with headless Chromium). Quotas reset on every renewal. Calls past the cap automatically fall back to your credit balance โ€” never break.

Scraper Starter

$10/mo
100,000 basic + 2,500 render
~$0.0001 / basic scrape
MOST POPULAR

Scraper Pro

$25/mo
500,000 basic + 15,000 render
~$0.00005 / basic scrape

Scraper Business

$50/mo
2,000,000 basic + 50,000 render
~$0.000025 / basic scrape

Cancel any time from your dashboard โ€” keeps quota until period end. Monthly Stripe billing. Subscriptions never charge for failed scrapes (auto-refunded to your quota).

Pay with Crypto (BNB/SKYNET)

No email needed. Auth with your BSC wallet, send BNB or SKYNET, get credits instantly.

Step 1: Get Nonce
curl https://api.lanagent.net/auth/nonce?wallet=0xYOUR_WALLET
# Returns: { "nonce": "scrape_gateway_auth_..." }
Step 2: Sign & Verify
curl -X POST https://api.lanagent.net/auth/verify   -H 'Content-Type: application/json'   -d '{"wallet":"0x...","signature":"0x...","nonce":"..."}'
# Returns: { "token": "eyJ..." }
Step 3: Get API Key
curl -X POST https://api.lanagent.net/auth/api-key   -H 'Authorization: Bearer YOUR_JWT'   -d '{"name":"my-app"}'
# Returns: { "apiKey": "gsk_..." }
Step 4: Check Price
curl https://api.lanagent.net/credits/price
# Returns: recipientAddress, pricePerCredit.bnb,
# pricePerCredit.skynet, bnbPrice
Step 5: Send BNB/SKYNET
# Send BNB or SKYNET to recipientAddress
# from Step 4. Use MetaMask, ethers.js, etc.
# Save the transaction hash.
Step 6: Claim Credits
curl -X POST https://api.lanagent.net/credits/purchase   -H 'X-API-Key: gsk_YOUR_KEY'   -H 'Content-Type: application/json'   -d '{"txHash":"0x...","currency":"BNB"}'
# currency must match what you sent: "BNB" or "SKYNET".
# Credits added automatically!

Prices update every 15 minutes from PancakeSwap + Chainlink oracle. Auto-refund on all failures.

Quick Start

Get an API key in 30 seconds. All examples use your gsk_* key.

1. Get Your API Key

# Sign up (returns API key instantly)
curl -X POST https://api.lanagent.net/portal/signup   -H 'Content-Type: application/json'   -d '{"email": "[email protected]", "password": "your-password"}'

# Response:
{ "apiKey": "gsk_abc123...", "token": "eyJ...", "credits": 0 }

2. Buy Credits ($5 = 400 credits)

# Start Stripe checkout (use token from signup)
curl -X POST https://api.lanagent.net/portal/checkout   -H 'Authorization: Bearer YOUR_TOKEN'   -H 'Content-Type: application/json'   -d '{"package": "starter"}'

# Response: { "checkoutUrl": "https://checkout.stripe.com/..." }
# Open the URL to complete payment. Credits added instantly.

3. Use Any Service

All 25 services use the same pattern: POST /service/{plugin}/{action}

AI Content Detector โ€” Text (5 cr)
curl -X POST https://api.lanagent.net/service/aiDetector/detectText \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"text":"The quick brown fox jumps over the lazy dog."}'
AI Content Detector โ€” Image (5 cr)
curl -X POST https://api.lanagent.net/service/aiDetector/detectImage \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://example.com/photo.jpg"}'
AI Content Detector โ€” Audio (5 cr)
curl -X POST https://api.lanagent.net/service/aiDetector/detectAudio \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://example.com/speech.mp3"}'
AI Content Detector โ€” Video (5 cr)
curl -X POST https://api.lanagent.net/service/aiDetector/detectVideo \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://example.com/video.mp4"}'
Web Scraping โ€” Basic (1 cr)
curl -X POST https://api.lanagent.net/scrape   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"url":"https://news.ycombinator.com","tier":"basic"}'
// HTML, metadata, links, text โ€” fast static fetch
Web Scraping โ€” Stealth (2 cr)
curl -X POST https://api.lanagent.net/scrape   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"url":"https://www.amazon.com/dp/B0DHHM3WRM","tier":"stealth"}'
// Rotates UA + bypasses anti-bot fingerprinting
Web Scraping โ€” Render (JS) (5 cr)
curl -X POST https://api.lanagent.net/scrape   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"url":"https://dexscreener.com/bsc/...","tier":"render","screenshot":true}'
// Headless Chromium runs JS, returns post-render DOM + PNG
YouTube โ€” Video (MP4) (10 cr)
curl -X POST https://api.lanagent.net/youtube/download   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"url":"https://youtube.com/watch?v=..."}'
YouTube โ€” Audio (MP3) (8 cr)
curl -X POST https://api.lanagent.net/youtube/audio   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"url":"https://youtube.com/watch?v=..."}'
Media Transcoding (20 cr)
curl -X POST https://api.lanagent.net/transcode   -H 'X-API-Key: gsk_YOUR_KEY'   -F '[email protected]'   -F 'format=mp4' -F 'preset=fast'
// FFmpeg: convert, trim, compress, extract audio
Image Generation (30 cr)
curl -X POST https://api.lanagent.net/image/generate   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"prompt":"A sunset over mountains"}'
Code Sandbox (20 cr)
curl -X POST https://api.lanagent.net/sandbox/execute   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"code":"print(sum(range(101)))","language":"python"}'
Anime (1 cr)
curl -X POST https://api.lanagent.net/service/anime/search   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"query":"Cowboy Bebop"}'
Chainlink Oracles โ€” Price (1 cr)
curl -X POST https://api.lanagent.net/service/chainlink/price   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"pair":"BTC"}'
Chainlink Oracles โ€” Feeds (1 cr)
curl -X POST https://api.lanagent.net/price/feeds?network=all   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{}'
HuggingFace AI โ€” Sentiment (10 cr)
curl -X POST https://api.lanagent.net/service/huggingface/sentimentAnalysis   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"inputs":"I love this product!"}'
HuggingFace AI โ€” Summary (10 cr)
curl -X POST https://api.lanagent.net/service/huggingface/textSummarization   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"inputs":"Long article text to summarize..."}'
HuggingFace AI โ€” Translation (10 cr)
curl -X POST https://api.lanagent.net/service/huggingface/translation   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"inputs":"Good morning, how are you?"}'
HuggingFace AI โ€” Zero-Shot (10 cr)
curl -X POST https://api.lanagent.net/service/huggingface/zeroShotClassification   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"inputs":"I need a phone","candidate_labels":["shopping","travel","food"]}'
Web Search (2 cr)
curl -X POST https://api.lanagent.net/service/websearch/search   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"query":"latest AI news 2026"}'
Web Search โ€” Weather (2 cr)
curl -X POST https://api.lanagent.net/service/websearch/weather   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"location":"Tokyo"}'
Web Search โ€” Stock (2 cr)
curl -X POST https://api.lanagent.net/service/websearch/stock   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"symbol":"AAPL"}'
HuggingFace AI โ€” QA (10 cr)
curl -X POST https://api.lanagent.net/service/huggingface/questionAnswering   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"question":"When was it built?","context":"The Eiffel Tower was built from 1887 to 1889."}'
News (2 cr)
curl -X POST https://api.lanagent.net/service/websearch/news   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"query":"artificial intelligence"}'
Lyrics (1 cr)
curl -X POST https://api.lanagent.net/service/lyrics/search   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"query":"bohemian rhapsody"}'
NASA (1 cr)
curl -X POST https://api.lanagent.net/service/nasa/apod   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{}'
Challenge Q&A (2 cr)
curl -X POST https://api.lanagent.net/service/challengeQuestions/generateWithAnswers   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"count":3}'
Challenge Questions โ€” Verify (2 cr)
curl -X POST https://api.lanagent.net/service/challengeQuestions/generate   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"count":3}'
# Returns token + questions. Verify with:
curl -X POST https://api.lanagent.net/service/challengeQuestions/verify   -H 'X-API-Key: gsk_YOUR_KEY'   -d '{"token":"chq_...","answers":[{"id":1,"answer":"42"}]}'
Token Profiler (3 cr)
curl -X POST https://api.lanagent.net/service/tokenProfiler/audit \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"address":"0x8Ef0...","chain":"bsc"}'
Wallet Profiler (3 cr)
curl -X POST https://api.lanagent.net/service/walletProfiler/profile \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"address":"0x3e05...","network":"bsc"}'
Contract Audit (5 cr)
curl -X POST https://api.lanagent.net/service/contractAudit/audit \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"address":"0xFfA9...","chain":"bsc"}'
Image Tools (2 cr)
curl -X POST https://api.lanagent.net/service/imageTools/optimize \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://example.com/photo.jpg","format":"webp","quality":80}'
# Also: /resize, /watermark, /transform
PDF Toolkit (5 cr)
curl -X POST https://api.lanagent.net/pdf/text \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://example.com/document.pdf"}'
# Also: /pdf/merge, /pdf/split, /pdf/compress
FFmpeg (5 cr)
curl -X POST https://api.lanagent.net/service/ffmpeg/transcode \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://example.com/video.mp4","format":"mp3"}'
YouTube โ€” Audio (MP3) (8 cr)
curl -X POST https://api.lanagent.net/youtube/audio \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"url":"https://youtube.com/watch?v=..."}'
Chainlink Oracles โ€” Feed List (1 cr)
curl -X POST https://api.lanagent.net/service/chainlink/feeds \
  -H 'X-API-Key: gsk_YOUR_KEY' \
  -d '{"network":"bsc"}'
# Also: /historical, /compare, /info
# pip install requests
import requests

API = "https://api.lanagent.net"
KEY = "gsk_YOUR_KEY"
headers = {"X-API-Key": KEY, "Content-Type": "application/json"}

# Scrape a webpage (2 credits)
r = requests.post(f"{API}/scrape", json={"url": "https://example.com"}, headers=headers)
print(r.json()["data"]["title"])

# Search anime (1 credit)
r = requests.post(f"{API}/service/anime/search", json={"query": "Naruto"}, headers=headers)
print(r.json()["data"]["results"][0]["title"])

# Run Python code (20 credits)
r = requests.post(f"{API}/sandbox/execute", json={"code": "print(2**100)", "language": "python"}, headers=headers)
print(r.json()["stdout"])

# Chainlink price feed (1 credit)
r = requests.post(f"{API}/service/chainlink/price", json={"pair": "ETH"}, headers=headers)
print(r.json()["data"]["price"])

# Real web search (2 credits)
r = requests.post(f"{API}/service/websearch/search", json={"query": "latest AI news"}, headers=headers)
print(r.json()["result"])

# HuggingFace sentiment (10 credits)
r = requests.post(f"{API}/service/huggingface/sentimentAnalysis", json={"inputs": "I love this!"}, headers=headers)
print(r.json()["result"])  # "POSITIVE: 100.0%"

# Detect AI-generated text (5 credits)
r = requests.post(f"{API}/service/aiDetector/detectText", json={"text": "Paste any text here to check..."}, headers=headers)
print(r.json()["data"]["verdict"])  # "human", "ai_generated", or "uncertain"

# Detect AI-generated image (5 credits)
r = requests.post(f"{API}/service/aiDetector/detectImage", json={"url": "https://example.com/photo.jpg"}, headers=headers)
print(r.json()["data"]["verdict"], r.json()["data"]["confidence"])

# Bot-filtering challenge questions (2 credits)
r = requests.post(f"{API}/service/challengeQuestions/generateWithAnswers", json={"count": 3}, headers=headers)
for q in r.json()["data"]["questions"]:
    print(q["question"], "->", q["answer"])

# Token profiler (3 credits)
r = requests.post(f"{API}/service/tokenProfiler/audit", json={"address": "0x8Ef0ecE5687417a8037F787b39417eB16972b04F", "chain": "bsc"}, headers=headers)
print(r.json()["result"])

# Image optimization (2 credits)
r = requests.post(f"{API}/service/imageTools/optimize", json={"url": "https://example.com/photo.jpg", "format": "webp", "quality": 80}, headers=headers)
print(r.json()["result"])

# Lyrics search (1 credit)
r = requests.post(f"{API}/service/lyrics/search", json={"query": "bohemian rhapsody"}, headers=headers)
print(r.json()["result"][:80])

# Image generation (30 credits)
r = requests.post(f"{API}/image/generate", json={"prompt": "A sunset over mountains"}, headers=headers)
print(r.json().get("downloadUrl", r.json().get("result", "")))

# NASA Astronomy Picture of the Day (1 credit)
r = requests.post(f"{API}/service/nasa/apod", json={}, headers=headers)
print(r.json()["data"]["title"], "-", r.json()["data"]["explanation"][:100])

# Check remaining credits
print("Credits left:", r.json()["creditsRemaining"])

API Reference โ†“ โ€” auth, billing, error codes, rate limits, challenge-question details. Full catalog: GET /service/catalog | Service Pricing | Agent Directory | Credit Pricing

API Reference

Authentication, billing, error codes, rate limits, and per-service details. Everything an integrator needs to ship.

Authentication

Send your API key on every paid request:

X-API-Key: gsk_โ€ฆ

Or use a portal JWT: Authorization: Bearer <jwt>. Missing/invalid auth returns HTTP 401 with { "success": false, "error": "Authentication required..." }.

Billing & refunds

Credits debit before the agent runs. What happens next, per outcome:

Outcome HTTP Refunded?
Successful response (success: true)200No โ€” call ran
Agent returned success: false500Yes
Agent unreachable / threw502Yes
No agents online for the service503N/A (not debited)
Caller out of credits402N/A (not debited)
Auth missing/invalid401N/A (not debited)

A success:true response with a "negative" application-level result โ€” challenge passed:false, a honeypot flag on token audit, an empty wallet profile, no-feed-found on a price lookup โ€” is billable. The service ran and produced a real answer. Auto-refunds fire on infrastructure or service-availability failures, not on factual results the caller didn't want.

Exception: a few plugins explicitly auto-refund successful responses produced via a fallback path (e.g. Chainlink โ†’ CoinGecko fallback returns creditsCharged:0, creditsRefunded:1). The default rule is: success:true โ‡’ billed.

Detecting "out of credits"

When the calling key runs out, the gateway returns HTTP 402 (Payment Required) โ€” not 503:

{
  "success": false,
  "error": "Insufficient credits",
  "required": 2,
  "balance": 0
}

Match on the error string โ€” it's the stable identifier. balance is the current balance; required is what the call would have cost. (HTTP 503 means the gateway can't serve the call at all โ€” no agents online or gateway out of credits on its agents.)

Rate limits

No per-API-key rate limit on paid endpoints โ€” throughput is bounded only by your credit balance. The only IP-based rate limits on the gateway apply to portal/admin auth pages (/portal/signup, /portal/login, /portal/forgot-password, /admin/login): 10 attempts per 15-minute window, returning HTTP 429 with { "success": false, "error": "Too many attempts. Try again in 15 minutes." }. IPv6 clients are bucketed by /64 prefix.

Retries & timeouts

Paid endpoints are not idempotent โ€” a retry after a 200 will re-bill. Safe to retry on 502, 503, and network errors; those were either refunded or never debited. On 402, top up credits before retrying. Default request timeout 60s; image generation 120s, YouTube/social download 120โ€“180s, media transcode 300s.

Challenge Questions โ€” reference

Bot-filtering challenge questions. See the Quick Start above for request examples; the table below covers the behavior every integrator hits.

Credit cost2 credits per call (all actions: generate, generateWithAnswers, verify, types, trackPerformance)
Token format / TTLchq_ + 48 hex chars; 600 seconds (10 minutes) from generate. TTL is also returned as data.expiresIn.
Max verify attempts per token3 โ€” token is deleted on success or after the 3rd wrong submission; the 4th call returns { success:false, error:"Max verification attempts exceeded" }.
Pass threshold70% correct (ceil(total ร— 0.7))
Question count1โ€“20 per call (default 3); clamped server-side
Receiptcvr_ + 48 hex chars on passed:true. Persist this as proof-of-pass.
Answer matchingCase-insensitive, trimmed; each question carries an acceptableAnswers list (e.g. "12" / "all of them" both pass for "how many months have 28 days").
Wrong-answer billingBillable. A verify returning passed:false is success:true at the protocol level โ€” the service ran and produced a real answer. Only success:false outcomes auto-refund: missing token/answers[], invalid/expired token, or the 4th submission against the same token.

Have a question this doesn't answer? Open a GitHub issue or email [email protected].