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 Documentfrom langchain_core.document_loaders import BaseLoaderimport 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.