{"uid":"cap_kcbK1lhxbnmseIMqnju3C","slug":"netintel-text-to-json-d8a9c2a3","name":"NetIntel Text-to-JSON","description":"Turn unstructured text into structured JSON matching a caller-supplied schema using Claude Haiku — the agent declares the fields and types it wants, and gets back populated JSON with values pulled from the text and coerced to the right types, so agents can structure any prose into the exact shape their pipeline expects.","url":"https://netintel-production-440c.up.railway.app/text-to-json","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","schema"],"properties":{"text":{"type":"string","description":"The unstructured prose to extract structured data from. Max 10000 words or 50KB."},"schema":{"type":"object","description":"A map of field name → type token. Supported tokens: string, number, boolean, date, string[], number[], object. Max 50 fields. Each field is extracted from the text as the declared type; output keys are forced to exactly these field names."}}},"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":{"grade":{"type":"string","description":"Letter grade A-F."},"score":{"type":"number","description":"Quality score 0-100."},"cached":{"type":"boolean","description":"True if served from the in-memory cache."},"result":{"type":"object","description":"The extracted data: keys are exactly the schema field names, values pulled from the text and cast to the declared types, unfindable fields null."},"findings":{"type":"array","items":{"type":"string"},"description":"Informational findings (e.g. schema_mismatch_corrected, mostly_nulled)."},"schema_match":{"type":"boolean","description":"True when the model's output keys were exactly the schema field names. False when code had to force-conform (strip extra / add missing) keys."},"fields_nulled":{"type":"number","description":"Number of null fields in the output."},"fields_in_schema":{"type":"number","description":"Number of fields in the schema."},"fields_populated":{"type":"number","description":"Number of non-null fields in the output."}}}}}}},"responseSchema":{"type":"json","example":{"grade":"A","score":100,"cached":false,"result":{"company":"Acme Corp","employees":250,"is_public":false,"locations":["San Francisco","London"],"founded_year":2010},"findings":[],"schema_match":true,"fields_nulled":0,"fields_in_schema":5,"fields_populated":5}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","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.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_b5mdjQYqgtJk2UISPYieR","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Converts unstructured text input into validated, structured JSON output according to a schema, with grading and quality scoring","exampleAgentPrompt":"Take this company blurb — 'Acme Corp is a private firm founded in 2010 with about 250 employees and offices in San Francisco and London' — and convert it into structured JSON with fields for company name, employee count, public status, locations, and founding year, then grade how well the text matched the schema.","exampleUseCases":[{"title":"Parse job descriptions into recruitment templates","prompt":"I've got a stack of unstructured job postings from our careers page. Can you extract each one into a structured JSON with fields for job title, department, required skills, salary range, and location, then grade how complete each extraction is? I need to know which postings are missing critical info."},{"title":"Convert customer feedback into structured insights","prompt":"We're getting raw customer support tickets and need to turn them into structured data. Pull out sentiment, product mentioned, issue category, and requested feature from each ticket, convert it to JSON, and give me a quality score so I know which feedback is most complete and reliable."},{"title":"Extract vendor details from email pitches","prompt":"Sales keeps forwarding me vendor pitches as unformatted emails. Can you parse each one into structured JSON with company name, service offering, pricing model, target industry, and contact info? Grade each extraction so I know which vendors provided clear, complete information."}],"resultDescription":"Returns a graded JSON object containing: a letter grade (A–F), a numeric score (0–100), a cached flag, the structured result object with extracted fields, a schema_match boolean, count of nulled fields, total schema fields, and populated field count — plus a findings array noting any issues.","failureModes":["Text too ambiguous to map to requested schema fields — low score and many nulled fields returned","Schema mismatch when input text contains no relevant information — grade F or low","Micropayment failure if x402 USDC payment on Base mainnet is not completed — 402 response returned","Malformed input text or missing schema target — 400 bad request","Service unavailability on Railway infrastructure — 503 or timeout"],"whenToPreferThis":"Choose this endpoint when you need to convert freeform prose or natural language into a validated, schema-conformant JSON object and want a quality grade telling you how complete the extraction was. Ideal for ETL pipelines, data enrichment from unstructured sources, or when you need a confidence signal (grade + score) alongside the structured output. Prefer over generic LLM extraction when you need a consistent grading rubric and field-level completeness metrics.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T12:50:07.425Z","isFirstParty":false}