ForHosting KIT · OCR & Data Extraction

Datasheet to attributes

A manufacturer's datasheet packs everything a buyer needs into a dense table that no catalog import script can read as-is. This endpoint reads a product spec sheet and returns its attributes — dimensions, ratings, materials, model numbers, every labeled value — as structured JSON, ready to drop straight into a product catalog or a comparison table.

● BetaPer request + per document$0.003
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

The catalog problem hiding inside every datasheet

A supplier sends a PDF datasheet with forty labeled attributes laid out in a two-column table, and the retailer or distributor on the other end needs those same forty values as fields in a product database before the item can even be listed for sale. Multiply that across a catalog of thousands of SKUs from dozens of manufacturers, each with its own layout, units and abbreviations, and the manual data-entry step becomes the actual bottleneck in getting new inventory live.

Who rebuilds catalogs from spec sheets

E-commerce teams onboarding a new supplier's product line who need every datasheet turned into catalog fields before launch, distributors maintaining a master parts database sourced from dozens of manufacturers' PDFs, engineers building a comparison matrix across competing components, and marketplace platforms that require sellers to submit structured attributes but only receive a PDF spec sheet from the brand.

What the call actually returns

Submit the datasheet to POST /ocr/spec-sheet and receive a task_id right away, since processing happens asynchronously rather than blocking your request. The finished result is a set of attribute-value pairs pulled from the document — everything from physical dimensions and electrical ratings to certifications and part numbers — delivered through a signed webhook or available at a signed link for 24 hours.

Datasheets as their own dense dialect

A spec sheet reads nothing like prose; it's closer to a compressed table where abbreviations, unit symbols and footnoted exceptions carry most of the meaning, a format that grew out of decades of engineering documentation optimized for print, not for parsing. Reading it accurately means recognizing that dialect — matching a label to its value even when they're separated by a column break or a line wrap — rather than treating the page as a paragraph of ordinary text.

Fitting into a product data pipeline

Priced at $0.003 per request plus $0.0135 per document and billed only when extraction succeeds, a product information management system can route every incoming supplier PDF through this endpoint the moment it's uploaded, populating draft catalog entries automatically for a human to confirm rather than key in from scratch. A failed extraction retries automatically up to three times at no charge, and access requires prepaid balance — there's no free tier, which keeps the endpoint responsive under real catalog-import volume.

New supplier onboarding

An e-commerce team turns a supplier's batch of PDF datasheets into catalog-ready attribute fields before the product line goes live.

Distributor master parts database

A distributor consolidates spec sheets from dozens of manufacturers into one consistent parts database with normalized attribute fields.

Engineering comparison matrices

An engineer extracts specs from several competing components' datasheets to build a side-by-side comparison table in minutes.

Marketplace seller onboarding

A marketplace platform converts a brand's PDF spec sheet into the structured attributes its listing form requires, without manual re-entry.

What does the Product Spec Extraction API return?

A structured JSON set of attribute-value pairs pulled from the datasheet, covering dimensions, ratings, materials, model numbers and other labeled specs.

How do I call the product spec extraction api?

Send the file to POST /ocr/spec-sheet, get a task_id immediately, and receive the extracted attributes by webhook or a signed link once the async task completes.

Is there a free tier for spec sheet extraction?

There's no free tier — free tiers get abused and slow everyone down. Access runs on a prepaid ForHosting KIT balance: top up from $10.00 (it never expires) and each request is charged at its published price, so a call with no balance returns HTTP 402. No subscription, no tokens, no invented credits, and a failed task is never charged.

How much does it cost to extract a spec sheet?

$0.003 per request plus $0.0135 per document, published pricing billed only when extraction succeeds.

Does it handle datasheets with mixed units, like metric and imperial?

Yes, it extracts values and their units as written on the page rather than forcing a single unit system.

Can it process a scanned datasheet, not just a digital PDF?

Yes, it reads scanned or photographed spec sheets as well as native digital documents.

Am I billed if the extraction fails?

No. Failed tasks retry automatically up to three times and are never charged; you get a clear error if they still fail.

Can I process an entire supplier catalog of datasheets in bulk?

Yes, submit one request per document; each returns its own task_id so a full batch of datasheets can process concurrently.

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/ocr/spec-sheet

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, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/ocr/spec-sheet \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "ocr.spec_sheet",
  "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.003
Per document$0.0135

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

max_mb25
max_pages10
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.
422task_failedThe task failed after 3 retries. You are never charged for it.

Read the full KIT documentation →