{"uid":"cap_hd8VRbR9RV_3-IWL7uOco","slug":"netintel-text-chunker-8699c45d","name":"NetIntel Text Chunker","description":"Split text into overlapping chunks for RAG ingestion — by characters or words, with configurable chunk size and overlap. Deterministic (same input → same chunks), returns each chunk with its index and start/end offsets. No API key, no LLM. Pairs with /v1/embeddings for a full chunk→embed pipeline.","url":"https://netintel.dev/text/chunk","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text to split — 1 to 200000 characters. Aliases: content, input, body."},"unit":{"type":"string","description":"\"chars\" (default) or \"words\". Aliases: by, mode."},"overlap":{"type":"number","description":"Units shared by consecutive chunks. Default 10% of chunk_size (max 100); clamped to 0..chunk_size-1. Aliases: chunk_overlap, chunkOverlap."},"chunk_size":{"type":"number","description":"Window size in chars or words. Default 1000; clamped to 50–20000 chars or 5–20000 words. Aliases: size, chunkSize."}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"unit":{"type":"string","description":"chars or words"},"count":{"type":"number","description":"Number of chunks (max 2000)"},"chunks":{"type":"array","items":{"type":"object","properties":{"end":{"type":"number"},"text":{"type":"string"},"index":{"type":"number"},"start":{"type":"number"},"length":{"type":"number","description":"Characters in this chunk's text"}}},"description":"Sliding-window chunks in order. start/end are UTF-16 character offsets into the source (text.slice(start, end) reproduces a chars-mode chunk; words-mode chunks are re-joined with single spaces). Surrogate pairs are never split."},"overlap":{"type":"number","description":"Effective overlap after clamping"},"findings":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string"},"detail":{"type":"string"}}},"description":"Parameter adjustments applied (clamped chunk_size/overlap, unknown unit); [] when none"},"chunk_size":{"type":"number","description":"Effective window size after clamping"},"source_length":{"type":"number","description":"Length of the input text in characters"}}}}}}},"responseSchema":{"type":"json","example":{"unit":"chars","count":3,"chunks":[{"end":60,"text":"NetIntel is a pay-per-call API for AI agents. It offers over","index":0,"start":0,"length":60},{"end":105,"text":" It offers over one hundred endpoints. Agents pay per reques","index":1,"start":45,"length":60},{"end":115,"text":" pay per request in USDC.","index":2,"start":90,"length":25}],"overlap":15,"findings":[],"chunk_size":60,"source_length":115}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Sywvai402zdkYm7j_QMXN","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Splits text into overlapping sliding-window chunks (by characters or words) with configurable size and overlap, returning each chunk with its index and character offsets — for RAG ingestion pipelines.","exampleAgentPrompt":"Split this article into overlapping chunks of 500 characters each with a 50-character overlap, using character mode, so I can embed them for a RAG pipeline.","exampleUseCases":[{"title":"Document ingestion for RAG pipeline","prompt":"Take this 10,000-word research paper text and split it into chunks of 1000 characters with 100 characters of overlap so I can feed each chunk into an embedding model."},{"title":"Word-based chunking for semantic search","prompt":"Chunk this blog post into windows of 200 words each with a 20-word overlap — I need word-based segments, not character-based, to keep sentences cleaner for my vector search index."},{"title":"Preprocessing large text for LLM context","prompt":"I have this long legal document — can you break it into 800-character overlapping chunks with 80 characters of overlap so I can process each piece through an LLM without hitting the context limit?"}],"resultDescription":"Returns a JSON object with: the unit used (chars or words), total chunk count (up to 2000), effective overlap after clamping, source text length, and an ordered array of chunk objects each containing its index, text content, start offset, end offset, and character length. Also includes a findings array noting any parameter adjustments (e.g. clamped values).","failureModes":["Text exceeds 200,000 character limit — request rejected","chunk_size below minimum (50 chars or 5 words) — clamped and noted in findings","overlap >= chunk_size — clamped to chunk_size-1 and noted in findings","More than 2000 chunks would be produced — truncated at limit","Missing required 'text' field — validation error","Invalid unit value other than 'chars' or 'words' — error response"],"whenToPreferThis":"Use this endpoint when you need deterministic, reproducible text chunking with precise character-offset metadata for downstream embedding or retrieval workflows. Prefer it over ad-hoc string splitting when you need overlap control, offset tracking, surrogate-pair safety, and alias-tolerant parameter handling. Ideal when pairing with /v1/embeddings on the same platform for a chunk→embed pipeline without managing your own chunking logic.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:33:56.558Z","isFirstParty":false}