Quickstart

Your first call, start to finish

Four steps: create an account, collect the key the console has already made for you, run one curl against a real endpoint and read the shared response envelope.

Using an AI agent?

Connect with browser sign-in

Open agent setup, choose your app and sign in. The connection command and copyable skill contain no API key. Ask your agent to check your balance to verify the connection for free, then continue to your dashboard. See the connection guide for all supported apps and the CLI installer.

Start with your task

Choose a useful first result

Pick a common job to see its calls in order and current catalogue costs. Find creators from Instagram reels, turn a video into text, or preview a brand monitor. Search docs by task or parameter name when you need a particular capability. Use a free preview and an explicit credit ceiling before a workflow that makes several calls.

Direct API · Step 1

Create an account

Sign up with an email address. New accounts start with 150 free credits, with no card required. Use them to try the endpoints you need; each operation has its own price.

Step 2

Collect your key

You do not have to create one. The first time you open the console overview, an account with no key gets one provisioned server-side. You can reveal or copy it from the setup page or API keys page. It looks like this:

api key
mn_4pQ8Zr1nKuT0aWxYb7cLdE3fGh9JmNpQsRtUvWxYz01

Prefix

Every key starts with mn_ — three characters, then 43 of base64url randomness, 46 in total.

Reveal or copy

New keys are masked by default. Use Reveal or Copy on the API keys page whenever you need the full value.

Replaceable

Older keys cannot be recovered. Create a replacement if needed. Keys are independent of your balance.

Manage keys — names, per-key credit limits, revocation — at /dashboard/api/keys. Full detail in authentication.

Step 3

Make the call

github/profile has been proven by real traffic and has a list price of 1 credit per successful uncached call. Substitute your key and run it.

terminal
curl "https://www.monocrawl.com/v1/github/profile?handle=torvalds" \
  -H "x-api-key: mn_your_key_here"

An illustrative successful response, not a fresh request or a guarantee of these field values:

200 · application/json
{
  "success": true,
  "platform": "github",
  "endpoint": "/v1/github/profile",
  "data": {
    "id": 1024025,
    "handle": "torvalds",
    "name": "Linus Torvalds",
    "url": "https://github.com/torvalds",
    "avatar_url": "https://avatars.githubusercontent.com/u/1024025?v=4",
    "bio": null,
    "company": "Linux Foundation",
    "location": "Portland, OR",
    "website": null,
    "email": null,
    "followers": 245310,
    "following": 0,
    "public_repos": 8,
    "public_gists": 0,
    "type": "User",
    "created_at": "2011-09-03T15:26:22Z",
    "updated_at": "2026-08-14T07:12:44Z"
  },
  "credits_used": 1,
  "credits_remaining": 99,
  "request_id": "req_4f2b8c1d09ae37b562",
  "cached": false
}

Step 4

Read the envelope

These are the standard success-envelope fields. Errors replace data with an error object and may omit the balance; payload fields inside data remain endpoint-specific. Batch has a separate wrapper, and streamed searches return their envelope in the final result event.

FieldTypeMeaning
successbooleantrue on a 200. On any error it is false and an error object replaces data.
platformstringThe platform segment of the path you called.
endpointstringThe resolved route, normally /v1/{platform}/{endpoint}; sandbox results use /sandbox.
dataobjectThe endpoint-specific payload. Many lists use items, count and cursor, but bundles and service operations can differ.
credits_usednumber | nullConfirmed credits used. Synthetic sandbox examples and confirmed uncharged/refunded failures use 0. An unresolved production outcome can report null; inspect error.details.billing_status.
credits_remainingnumberWallet balance observed during the call. Present on success; errors may omit it when unknown.
request_idstringreq_ plus 18 hex characters. Quote it in support mail; it is also the ledger reference.
cachedbooleantrue when the answer came from the shared response cache instead of the upstream.

Production /v1 never substitutes a sample when a provider fails: it returns a typed error. Confirmed uncharged or refunded failures report credits_used: 0; unresolved accounting can report null, so retain the request ID and reconcile before retrying. A response can carry synthetic: true only when you deliberately call /sandbox — details in errors.

In code

The same call from TypeScript or Python

No SDK required — it is a GET with one header. Check success before touching data; errors carry a typed error object instead. Keep the key in the environment, never in the file.

const key = process.env.MONOCRAWL_API_KEY;
if (!key) throw new Error('Set MONOCRAWL_API_KEY on your server.');
const res = await fetch(
  "https://www.monocrawl.com/v1/github/profile?handle=torvalds",
  { headers: { "x-api-key": key } },
);
const body = await res.json();

if (!body.success) {
  // one error shape for every endpoint — see /docs/errors
  throw new Error(`${body.error.type}: ${body.error.message}`);
}

console.log(body.data, "credits left:", body.credits_remaining);

Next

Try a few more

EndpointRequired paramCreditsWhat it returns
GET /v1/github/profilehandle1Public profile, follower counts and repository totals for a GitHub user.
GET /v1/hackernews/searchquery1Search Hacker News stories and comments.
GET /v1/bluesky/profilehandle1A public Bluesky account — handle or DID.
GET /v1/youtube/channelchannelId or handle1A YouTube channel by id, @handle, legacy username or URL.

Credits are read from the registry on every render. For the full list and each endpoint's parameter schema, call GET /v1/utility/endpoints — it costs 0 credits — or browse the platform reference. Then read the API reference for pagination, batching and path parameters.

First call in under a minute

150 free credits and a ready-made key the moment you sign up. No card.