ForHosting KIT · Web Scraping & Monitoring

Breadcrumb Schema Generator

Turn a visible breadcrumb trail into structured data without manually numbering entries or assembling nested JSON.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Provide the page names and absolute URLs in their displayed order, beginning with the broadest page and ending with the current destination. The generator produces a schema.org BreadcrumbList object and a complete JSON-LD script block ready to place in the page head or body. It validates empty lists, malformed rows, missing labels, and unsupported URLs before returning any markup.

Prepare the breadcrumb trail in page order

Start with the same hierarchy that a visitor sees on the page. The first row should normally represent the home page or the broadest useful section, followed by progressively more specific pages, and the final row should identify the current page. Each row needs a concise visible name and an absolute HTTP or HTTPS URL. Absolute URLs remove ambiguity for crawlers and make the generated markup portable across templates, preview domains, and content systems. Keep labels aligned with the linked pages rather than stuffing keywords into them. This tool preserves the supplied order exactly and assigns positions beginning at one, so rearranging rows changes the meaning of the trail. It does not crawl a site, infer a hierarchy, or compare the entries with navigation rendered in HTML. Review redirects, canonical choices, spelling, and capitalization before generating the block. An empty list is rejected because a BreadcrumbList without any ListItem entries communicates no usable path and is usually evidence of a broken template or incomplete request.

Understand the generated JSON-LD

The result contains a schema object for programmatic use and a complete script block for direct placement on a webpage. At the top level, the context points to schema.org and the type is BreadcrumbList. Every supplied pair becomes a ListItem with a one-based position, the trimmed breadcrumb name, and its URL in the item property. Pretty printing keeps the output readable during reviews and produces stable results for identical input. The generator also escapes a less-than character inside serialized values, preventing user-provided text from prematurely closing the script element when the block is embedded in HTML. Validation accepts only non-empty names and absolute HTTP or HTTPS URLs; schemes such as javascript, data, mailto, or relative paths are rejected. The algorithm is deterministic and performs no network requests, so it does not confirm that a URL resolves or that a page is indexable. Use the returned schema object when another application will handle serialization, or use the jsonld field when you need the complete markup without additional assembly.

Publish and verify the breadcrumb markup

Add one generated script block to the page represented by the trail, either in the document head or in the body where your publishing system permits JSON-LD. Keep the structured trail consistent with links that users can actually see and navigate. If a content system already emits breadcrumb structured data, replace or disable the older block instead of publishing competing versions with different positions or URLs. Regenerate the markup whenever a page moves, a section changes name, or canonical URLs change. After deployment, inspect the rendered HTML rather than only the source template, because themes, tag managers, and optimization plugins can duplicate, remove, or alter script elements. Then use a structured-data testing tool or search-engine inspection workflow to catch page-level issues outside this generator, including inaccessible destinations, conflicting canonical tags, or markup inserted on the wrong page. Valid JSON-LD is an implementation requirement, not a guarantee of a particular search presentation. The API price is $0.002 per request, while browser execution can use the same deterministic logic without sending the breadcrumb data across the network.

Add markup to a page template

Convert a template's ordered navigation trail into a ready-to-embed BreadcrumbList script block.

Standardize CMS output

Generate the same predictable JSON-LD shape for articles, product pages, categories, and documentation sections.

Repair missing structured data

Create replacement markup when visible breadcrumbs exist but the deployed page has no machine-readable trail.

What happens if the breadcrumb list is empty?

The request fails with an invalid input error because a BreadcrumbList must contain at least one useful item.

Which order should I use?

Enter pages from the broadest level to the current page. The generator preserves that order and assigns positions starting at one.

Can I use relative URLs?

No. Each item must contain an absolute HTTP or HTTPS URL so the structured data is unambiguous.

Does the generator check whether pages exist?

No. It makes no network requests. It validates URL syntax and scheme but cannot confirm response status, indexing, redirects, or canonical tags.

Where should I place the generated block?

Place the script element in the page head or body according to your publishing system, and ensure duplicate breadcrumb markup is not also emitted.

What does an API request cost?

Each API request costs $0.002. The same deterministic transformation can also run in the browser.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/web/breadcrumb-schema-generate

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/web/breadcrumb-schema-generate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"breadcrumbs":[{"name":"Home","url":"https://example.com/"},{"name":"Guides","url":"https://example.com/guides"},{"name":"Technical SEO","url":"https://example.com/guides/technical-seo"}]}'
{
  "breadcrumbs": [
    {
      "name": "Home",
      "url": "https://example.com/"
    },
    {
      "name": "Guides",
      "url": "https://example.com/guides"
    },
    {
      "name": "Technical SEO",
      "url": "https://example.com/guides/technical-seo"
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.breadcrumb_schema_generate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

timeout_sec30
max_crawl_pages25
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →