Developer API
Every free MeByte GEO tool is also a JSON endpoint. No key, no account, CORS open to any origin — call it from your app, your agent or a static page, and link results back for your users.
curl "https://mebyte.ai/api/public/v1/tools/crawler-check?url=example.com"The catalog at /api/public/v1/tools lists every endpoint, its parameters and a live example — handy for AI agents that discover APIs at runtime.
Use -i (or -D-) to print the response headers. Every response — including 429 — carries your current tier, mode and remaining quota.
# -i prints headers + body; add your key to lift the quota curl -i "https://mebyte.ai/api/public/v1/tools/crawler-check?url=example.com" \ -H "x-api-key: mbk_live_xxxxxxxx"
HTTP/2 200 x-ratelimit-tier: growth x-ratelimit-mode: full x-ratelimit-limit: 400 x-ratelimit-remaining: 397 x-ratelimit-reset: 1750000000 x-ratelimit-daily-limit: 4000 x-ratelimit-daily-remaining: 3912
- X-RateLimit-Tier
- free, solo, growth or partner — which multiplier applied to this call.
- X-RateLimit-Mode
- full (machine-readable JSON) or share-link (keyless summary + shareable URL).
- X-RateLimit-Limit
- Requests allowed in the current hourly window for this endpoint.
- X-RateLimit-Remaining
- Requests left in the hourly window. Throttle yourself as it nears 0.
- X-RateLimit-Reset
- Unix seconds when the hourly window resets.
- X-RateLimit-Daily-Limit
- Requests allowed today.
- X-RateLimit-Daily-Remaining
- Requests left today.
- Retry-After
- Only on 429 — seconds to wait before retrying.
On 429 we return Retry-After (seconds) plus a quota object in the body. Always wait at least Retry-After, then add exponential backoff with jitter. Never retry in a tight loop — repeated hits keep the window full.
url="https://mebyte.ai/api/public/v1/tools/crawler-check?url=example.com"
for attempt in 1 2 3 4 5; do
code=$(curl -s -o /tmp/out.json -D /tmp/hdr.txt -w '%{http_code}' \
-H "x-api-key: $MEBYTE_API_KEY" "$url")
[ "$code" != "429" ] && break
# honour Retry-After, then exponential backoff with jitter
wait=$(grep -i '^retry-after:' /tmp/hdr.txt | tr -dc '0-9')
wait=$(( ${wait:-1} * attempt * attempt + RANDOM % 3 ))
echo "rate limited, sleeping ${wait}s (attempt $attempt)" >&2
sleep "$wait"
done
cat /tmp/out.jsonasync function callMeByte(url, { key, maxAttempts = 5 } = {}) {
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
const res = await fetch(url, { headers: key ? { "x-api-key": key } : {} });
// quota telemetry is on every response, 200 and 429 alike
const quota = {
tier: res.headers.get("X-RateLimit-Tier"),
mode: res.headers.get("X-RateLimit-Mode"),
remaining: Number(res.headers.get("X-RateLimit-Remaining") ?? 0),
resetAt: Number(res.headers.get("X-RateLimit-Reset") ?? 0) * 1000,
};
if (res.status !== 429) return { data: await res.json(), quota };
if (attempt === maxAttempts) throw new Error("MeByte rate limit: give up");
const retryAfter = Number(res.headers.get("Retry-After") ?? 1);
const backoff = retryAfter * 1000 * 2 ** (attempt - 1);
await new Promise((r) => setTimeout(r, backoff + Math.random() * 500));
}
}If you keep hitting the hourly cap, issue an API key below — paid tiers multiply both the hourly and daily quotas and unlock the full JSON payload.
Endpoints
/api/public/v1/tools/crawler-checkReads robots.txt and llms.txt and reports whether GPTBot, ClaudeBot, PerplexityBot and friends may read the site.
- url
- website address (required)
https://mebyte.ai/api/public/v1/tools/crawler-check?url=example.com/api/public/v1/tools/llms-txtReturns a ready-to-upload llms.txt. Pass format=text to get the raw file instead of JSON.
- brand
- brand name (required)
- url
- website (required)
- summary
- one-line description (required)
- products
- pipe-separated list, or JSON array on POST
- differentiators
- pipe-separated list, or JSON array on POST
- audience / contact
- optional strings
- format
- json (default) or text
https://mebyte.ai/api/public/v1/tools/llms-txt?brand=Acme&url=acme.com&summary=We+make+widgets&format=text/api/public/v1/tools/schemaBuilds Organization, Product or FAQPage structured data, plus a paste-ready <script> tag.
- type
- Organization | Product | FAQPage
- name / url
- required
- description / logo / sameAs
- optional
- price / currency
- Product only
- faqs
- question::answer|question::answer, or JSON array on POST
- format
- json (default) or script
https://mebyte.ai/api/public/v1/tools/schema?type=Organization&name=Acme&url=acme.com/api/public/v1/tools/valueTurns mention rate into monthly and annual revenue, ROI and payback days — and returns a shareable calculator link.
- q
- monthly buyer questions in AI assistants
- now / goal
- current and target mention rate, %
- aov / cvr / margin
- order value, conversion %, margin %
- cost
- monthly spend on getting recommended
https://mebyte.ai/api/public/v1/tools/value?q=4000&now=8&goal=35&aov=480External link builder
Enter a website to generate ready-made links — API calls and shareable result pages you can drop into your product, docs or client report.
Access tiers & rate limits
Keyless calls are free forever, but they return a shareable result link plus a headline summary — not the full payload. Send an API key (x-api-key: mbk_live_…, or Authorization: Bearer …) to receive the complete JSON and a multiplied quota. Every response carries X-RateLimit-Tier, X-RateLimit-Mode, X-RateLimit-Remaining and the daily equivalents; over quota you get 429 with a quota object and Retry-After.
| Tier | Quota | Response |
|---|---|---|
| Free (no key) | Base quota, per IP or brand_id | Share link + summary only |
| Solo plan key | 5× base quota | Full JSON payload |
| Growth plan key | 20× base quota | Full JSON payload |
| Partner key | 60× base quota | Full JSON + priority support |
| Endpoint | Base / hour | Base / day |
|---|---|---|
| /api/public/v1/tools | 240 | 2,000 |
| /api/public/v1/tools/crawler-check | 20 | 100 |
| /api/public/v1/tools/llms-txt | 60 | 400 |
| /api/public/v1/tools/schema | 60 | 400 |
| /api/public/v1/tools/value | 120 | 800 |
Key tiers multiply the base numbers above — a Growth key gets 400 crawler checks per hour.
API keys
Keys are issued per brand on paid plans and shown once. Revoke any key instantly.
Loading keys…
OpenAPI spec
Every public endpoint — free tools and the partner API — is described in one OpenAPI 3.1 document, including each X-RateLimit-* response header and a full 429 example with Retry-After. Import it into Postman, Insomnia, or an SDK generator.
# generate a typed client npx @hey-api/openapi-ts -i https://mebyte.ai/api/public/v1/openapi.json -o ./src/mebyte
Fair use & attribution
- • Keyless use is free for any purpose, including commercial products — share links only.
- • Paid-plan API keys unlock the full JSON payload and a multiplied rate limit.
- • Cache responses for at least 5 minutes; the crawler check fetches live sites.
- • When you display results, credit MeByte with a link to mebyte.ai.
- • Need brand-level data (AI visibility scans, articles, readiness assets)? Those live behind the authenticated partner API — see plans.
Building on MeByte?
Run the free site check to see what the API reports for your own domain first.
