> ## Documentation Index
> Fetch the complete documentation index at: https://docs.schemagen.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Generation: Generate Schemas for Multiple URLs

> Submit a list of URLs or a sitemap and SchemaGen's AI generates schemas for every page simultaneously, processed as a background job.

Bulk Generation lets you create schemas for many pages at once instead of one URL at a time. Submit a list of URLs or point SchemaGen at a sitemap, start the job, and the AI pipeline processes every page in parallel as a background task. When the job finishes, you review the results, approve the schemas you want to publish, and deploy them all in one action.

<Info>
  Bulk Generation is available on **Pro** ($29/mo) and **Agency** ($99/mo) plans. Free plan users can generate schemas individually using the [Schema Builder](/features/schema-builder) or [AI URL Extraction](/features/ai-extraction).
</Info>

## URL limits by plan

| Plan   | URLs per bulk run | Sitemap import |
| ------ | ----------------- | -------------- |
| Free   | Not available     | —              |
| Pro    | Up to 10 URLs     | Yes            |
| Agency | Up to 100 URLs    | Yes            |

If you submit more URLs than your plan allows, the job is rejected before it starts and you'll see a clear error message showing your limit.

## How to run a bulk generation job

<Steps>
  <Step title="Open Bulk Generation">
    From the dashboard, click **Bulk Generate** in the left sidebar. The bulk job form opens with two input methods: a URL list and a sitemap URL field.
  </Step>

  <Step title="Add your URLs">
    Choose one of two methods:

    **Manual URL list** — Paste or type your URLs into the text area, one URL per line. Pro accounts can enter up to 10; Agency accounts up to 100.

    **Sitemap import** — Paste the URL of your sitemap XML (for example, `https://example.com/sitemap.xml`) into the sitemap field and click **Import**. SchemaGen parses the sitemap, extracts all `<loc>` entries, and pre-fills the URL list. You can then remove any URLs you don't want to include before starting the job.
  </Step>

  <Step title="Start the job">
    Click **Start Bulk Job**. SchemaGen validates your URL list against your plan limits, creates a job record, and starts processing your URLs in the background. You receive a job ID immediately—the page does not wait for the job to complete before responding.
  </Step>

  <Step title="Monitor job progress">
    The bulk job view shows live progress: how many URLs have been processed versus the total, and which individual URLs have completed, are in progress, or have failed. The page polls for updates automatically. You can leave and return to the dashboard at any time—the job continues running in the background.
  </Step>

  <Step title="Review the results">
    When the job status changes to **Completed**, each URL shows its extracted schema, detected type, and any Rich Result warnings. Click any result to open the full pre-filled schema form, where you can review fields, make adjustments, and confirm before saving.
  </Step>

  <Step title="Publish approved schemas">
    From the results view, select the schemas you want to deploy and click **Publish Selected**. All selected schemas are saved and pushed to the SDN simultaneously. Schemas you don't publish are saved as drafts you can return to later.
  </Step>
</Steps>

## Job statuses

Each bulk job moves through the following statuses:

* **processing** — the job is actively running. URLs are being crawled and analyzed in batches of three at a time.
* **completed** — all URLs have been processed. Individual results may show `success` or `error` per URL.
* **error** (per URL) — a single URL failed within an otherwise successful job. The remaining URLs still complete. The error reason is shown alongside the failed URL.

If a URL fails (for example, due to a timeout or an unsupported site), it does not stop the rest of the job. SchemaGen retries each URL up to two times before marking it as failed.

## Reviewing and approving bulk results

Not every extracted schema requires the same level of review. Use the results table to quickly scan for issues:

* URLs with **warnings** have Rich Result eligibility issues that you should address before publishing. Click the URL to open the schema and fix the flagged fields.
* URLs marked **error** could not be processed. Open those pages individually in [AI URL Extraction](/features/ai-extraction) or fill them in manually with the Schema Builder.
* URLs with a clean **success** status and no warnings are ready to publish as-is.

<Note>
  Every URL processed in a bulk job counts toward your monthly AI generation quota—including URLs that fail after extraction starts. A 10-URL bulk job on a Pro plan uses 10 AI generation credits. Monitor your usage at **Account → Usage**.
</Note>
