Skip to content
GET /v1/meta

Spec

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/ngram-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/ngram-api/v1/meta" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/ngram-api/v1/meta", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/ngram-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/ngram-api/v1/meta",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "name": "N-gram API",
        "notes": "Word mode joins tokens with a space; character mode uses Unicode code points with no separator. Ties in frequency are ordered by first appearance. Ideal for text mining, language modelling, autocomplete, plagiarism and similarity features. Nothing is stored.",
        "version": "v1",
        "endpoints": [
            {
                "path": "/v1/ngrams",
                "params": {
                    "n": "the n-gram size (default 2)",
                    "top": "keep only the N most frequent (default all)",
                    "mode": "'word' (default) or 'char'",
                    "text": "the text (required)",
                    "lowercase": "lower-case first (default true)"
                },
                "returns": "the ranked n-grams with counts"
            },
            {
                "path": "/v1/range",
                "params": {
                    "max": "largest size (default 3)",
                    "min": "smallest size (default 1)",
                    "top": "top-N per size",
                    "mode": "'word' or 'char'",
                    "text": "the text (required)",
                    "lowercase": "default true"
                },
                "returns": "n-grams grouped by size"
            },
            {
                "path": "/v1/meta",
                "params": [],
                "returns": "this document"
            }
        ],
        "description": "Generate n-grams from text, with frequency counts. The ngrams endpoint breaks text into contiguous sequences of n tokens — word n-grams (unigrams, bigrams, trigrams…) or character n-grams (shingles) — and returns each distinct n-gram with how often it occurs, ranked by frequency. The range endpoint produces every size from min to max in one call (e.g. 1–3 grams) for feature extraction. Choose word or character mode, lower-casing, and a top-N limit. Word tokenization is Unicode-aware and keeps internal apostrophes and hyphens. Pure local, no key."
    },
    "meta": {
        "timestamp": "2026-06-03T09:25:03.475Z",
        "request_id": "a8546a2b-0746-40f8-8b51-9b7f79235492"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}