SDKs & libraries

NeuroAPI is a plain JSON REST API — any HTTP client works. The snippets below show idiomatic usage in popular languages while official SDKs land.

TypeScript / Node.js

typescript
type ScrapeResponse = {
success: true;
data: { markdown?: string; html?: string; metadata: Record<string, unknown> };
creditsCharged: number;
};
export async function scrape(url: string): Promise<ScrapeResponse> {
const res = await fetch("https://neuroapi.me/api/v1/scrape", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.NEUROAPI_KEY!}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ url, formats: ["markdown"] }),
});
if (!res.ok) throw new Error(`NeuroAPI ${res.status}`);
return res.json();
}

Python

python
import os, requests
BASE = "https://neuroapi.me/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['NEUROAPI_KEY']}"}
def scrape(url: str, **opts):
r = requests.post(f"{BASE}/scrape", json={"url": url, **opts}, headers=HEADERS, timeout=60)
r.raise_for_status()
return r.json()["data"]

LangChain integration

Wrap NeuroAPI as a custom Document Loader to feed clean markdown into your retrieval pipeline.

python
from langchain_core.documents import Document
from langchain_core.document_loaders import BaseLoader
import requests, os
class NeuroAPILoader(BaseLoader):
def __init__(self, url: str):
self.url = url
def lazy_load(self):
r = requests.post(
"https://neuroapi.me/api/v1/scrape",
json={"url": self.url, "formats": ["markdown"]},
headers={"Authorization": f"Bearer {os.environ['NEUROAPI_KEY']}"},
timeout=60,
)
r.raise_for_status()
data = r.json()["data"]
yield Document(page_content=data["markdown"], metadata=data.get("metadata", {}))
Official SDKs
First-party TypeScript and Python SDKs are on the roadmap. Want early access? Reach out at hello@neuroapi.me.