{"uid":"cap_TKv2OUOyLNm0_wczI_qYu","slug":"penny-api-local-business-schema-org-json-ld-generator-2373459a","name":"Penny API – Local Business Schema.org JSON-LD Generator","description":"Deterministic schema.org LocalBusiness JSON-LD generator with validation warnings. POST JSON {name, businessType, telephone, address fields, openingHours, ...}; returns {jsonld, scriptTag, warnings}. $0.05 per call.","url":"https://pennyinpublic.com/api/local-schema","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"geo":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"description":"Coordinates. Dropped with a warning if out of range."},"url":{"type":"string","description":"Business website URL."},"name":{"type":"string","description":"REQUIRED. Business name."},"image":{"type":"string","description":"Image URL."},"sameAs":{"type":"array","items":{"type":"string"},"description":"Profile URLs — Google Business Profile, Facebook, Yelp."},"telephone":{"type":"string","description":"Public phone number."},"postalCode":{"type":"string"},"priceRange":{"type":"string","description":"e.g. \"$$\"."},"description":{"type":"string","description":"One-paragraph business description."},"businessType":{"type":"string","description":"schema.org LocalBusiness subtype, e.g. Plumber, Restaurant, HairSalon. Unknown values fall back to LocalBusiness with a warning."},"openingHours":{"type":"array","items":{"type":"string"},"description":"schema.org openingHours strings, e.g. \"Mo-Fr 08:00-17:00\"."},"addressRegion":{"type":"string","description":"State or region code, e.g. OR."},"streetAddress":{"type":"string"},"addressCountry":{"type":"string","description":"ISO country code, defaults to US."},"addressLocality":{"type":"string","description":"City."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","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.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_jQpYM-_1KzVldUZLHHiPx","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":"Generates validated schema.org LocalBusiness JSON-LD markup from structured business data, returning the JSON-LD object, a ready-to-embed script tag, and any validation warnings.","exampleAgentPrompt":"Generate a schema.org LocalBusiness JSON-LD script tag for my coffee shop 'Morning Bloom', a Restaurant at 412 NW Oak Ave, Portland OR 97209, phone (503) 555-0192, open Mon-Fri 07:00-18:00 and Sat 08:00-15:00, priced at $$.","exampleUseCases":[{"title":"Restaurant SEO structured data","prompt":"Create a LocalBusiness JSON-LD snippet for my Italian restaurant 'Trattoria Bella', located at 88 Main Street, Austin TX 78701, phone (512) 555-0341, open Tuesday through Sunday 11:00-22:00, price range $$$, and include their website https://trattoriabella.com."},{"title":"Plumber listing schema markup","prompt":"I need a schema.org JSON-LD script tag for my plumbing business 'QuickFix Plumbing', type Plumber, at 2201 Elm Drive, Denver CO 80203, phone (720) 555-0088, open Mon-Sat 08:00-17:00 — give me back the script tag I can paste into my site's head."},{"title":"Hair salon Google rich results","prompt":"Generate schema.org markup for 'Glow Hair Studio', a HairSalon at 55 Beverly Blvd, Los Angeles CA 90036, phone (310) 555-0477, open Mon-Sat 09:00-19:00, price range $$, and include their Yelp profile https://yelp.com/biz/glow-hair-studio and Google Business Profile https://g.page/glowhairstudio so I can embed it for rich results."}],"resultDescription":"Returns a JSON object containing: (1) `jsonld` — the fully formed schema.org LocalBusiness JSON-LD object ready for use, (2) `scriptTag` — an HTML `<script type='application/ld+json'>` string ready to paste into a page's `<head>`, and (3) `warnings` — an array of validation messages flagging unknown businessType values, out-of-range coordinates, missing recommended fields, or other issues detected during generation.","failureModes":["Missing required `name` field returns an error response","Unknown `businessType` value falls back to generic LocalBusiness and adds a warning rather than failing","Geo coordinates outside valid lat/lng ranges are dropped with a warning","Malformed openingHours strings may generate warnings but still produce output","Invalid URL formats for `url`, `image`, or `sameAs` entries may produce warnings"],"whenToPreferThis":"Choose this endpoint when you need deterministic, spec-compliant schema.org LocalBusiness JSON-LD generated from structured data — especially when you want validation warnings surfaced alongside output. Ideal for CMS plugins, SEO automation pipelines, or agents that need to embed structured data into web pages without manually constructing JSON-LD. Prefer over generic LLM-generated markup when correctness and schema.org conformance matter.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:33:21.178Z","isFirstParty":false}