SafetyDataSheetAPI is a product of Dscvry. Explore Dscvry →
SDS/MSDS extraction API

SDS in.
Structured data out.

Send a safety data sheet PDF. Get all 16 sections back as JSON, XML and CSV, with a confidence score on every record.

Proof Before Pitch

Validate extraction quality and integration fit quickly. This is where most generic OCR tools fail and governed SDS pipelines start.

What It Extracts

Section-level SDS data across product identity, GHS/H/P statements, transport entities, composition tables, and revision metadata.

Where It Plugs In

ERP, EHS, PLM, and governed ingestion pipelines via JSON, XML, and CSV outputs with stable schema contracts.

Why Generic OCR Fails

OCR text alone cannot deliver section mapping, transport normalization, confidence thresholds, warning routing, or schema governance.

What We Extract

Coverage designed for high-value compliance workflows, transport governance, and enterprise supply chain operations.

Product Identification Supplier, product, and identifier fields.
Hazard Classification GHS classes with H/P statement extraction.
Composition / Ingredients Substance and concentration tables.
Exposure Controls and PPE Limits, controls, and PPE guidance.
Toxicological Data Acute and chronic effect summaries.
Ecological Data Environmental hazard and persistence data.
Disposal Considerations Waste handling and disposal details.
Transport Information UN, ADR, IMDG, and IATA fields.
Regulatory Information Regional compliance references.
Revision and Version Metadata Date/version lineage for governance.
Supports multilingual SDS (EU, US, APAC formats)

Reads SDS in the Language They Arrive In

Suppliers send safety data sheets in many languages. The API reads the PDF in its source language, accepts an optional language hint, and always returns the same English field names, so your integration does not change per language. How multilingual extraction works.

We have not published accuracy figures per language. Validate on a sample of your own documents before production.

Output Example

Use structured output directly in ingestion pipelines, rules engines, and compliance dashboards.

{
  "document_id": "sds_2024_00129",
  "schema_version": "1.0",
  "product_identification": {
    "product_name": "Acetone",
    "recommended_use": "Industrial solvent",
    "supplier_name": "Example Chemicals Ltd."
  },
  "hazards_identification": {
    "ghs_classification": ["Flammable Liquid - Category 2", "Eye Irritation - Category 2A"],
    "signal_word": "Danger",
    "h_statements": ["H225 Highly flammable liquid and vapour", "H319 Causes serious eye irritation"],
    "p_statements": ["P210 Keep away from heat/sparks/open flames"]
  },
  "composition": [
    {
      "substance_name": "Acetone",
      "cas_number": "67-64-1",
      "concentration_percent": "95-100"
    }
  ],
  "first_aid": {
    "inhalation": "Move person to fresh air",
    "skin_contact": "Wash with water"
  },
  "fire_fighting": {
    "suitable_extinguishing_media": ["Foam", "Dry chemical", "CO2"]
  },
  "accidental_release": {
    "containment_methods": ["Absorb with inert material", "Prevent drain entry"]
  },
  "handling_storage": {
    "handling_precautions": ["Use explosion-proof equipment"],
    "storage_conditions": ["Store in tightly closed container"]
  },
  "exposure_controls_ppe": {
    "exposure_limits": ["OSHA PEL 1000 ppm"],
    "ppe": ["Protective gloves", "Eye protection"]
  },
  "physical_chemical_properties": {
    "appearance": "Colorless liquid",
    "flash_point_c": "-20"
  },
  "stability_reactivity": {
    "stability": "Stable under recommended conditions"
  },
  "toxicological_information": {
    "acute_toxicity": "May cause drowsiness or dizziness"
  },
  "ecological_information": {
    "aquatic_toxicity": "Harmful to aquatic life with long lasting effects"
  },
  "disposal_considerations": {
    "waste_handling": "Dispose according to local regulations"
  },
  "transport_information": {
    "un_number": "UN1090",
    "proper_shipping_name": "Acetone",
    "hazard_class": "3",
    "packing_group": "II"
  },
  "regulatory_information": {
    "tsca": "Listed"
  },
  "revision_metadata": {
    "revision_date": "2024-01-15",
    "version": "4.2"
  },
  "confidence_score": 0.97,
  "warnings": []
}

Output formats: JSON, XML, CSV. Custom schema mapping available.

Upload a Sample SDS

Validate extraction quality on your own SDS/MSDS PDF. This sample endpoint returns structured JSON, XML, and CSV outputs with confidence score and warnings. You can run extraction first, then share work details when you copy or download output.

For production volumes, use POST /extract-sds with a dedicated API key and SLA-backed endpoint.

Work details are requested only when you copy or download output. See Privacy Policy.

Extraction Output

{
  "status": "Ready for sample upload",
  "output_formats": ["JSON", "XML", "CSV"]
}

Use Cases

Designed for teams that manage large SDS volumes and regulated downstream systems.

Chemical Manufacturers

Automate supplier SDS ingestion into ERP and PLM systems.

EHS Software Vendors

Embed SDS parsing into compliance and incident management products.

Distributors and Importers

Standardize SDS data across global supply chains and partner networks.

BPO and Compliance Teams

Eliminate manual SDS data entry at scale while maintaining traceability.

Why Teams Choose SafetyDataSheetAPI

Enterprise requirements first: governance, reliability, mapping flexibility, and scale.

Transparent pricingClear setup and run-rate costs.
Enterprise deployment optionsPrivate and dedicated environments.
EU and India data residency optionsSupport regional governance requirements.
Dedicated high-volume endpointsThroughput built for large ingestion workloads.
Custom schema mappingMap fields to internal ERP or EHS models.
SLA-backed enterprise plansOperational guarantees for critical pipelines.

Pricing

Start free, pay as you go for production volume, or scope an enterprise deployment with SLA and residency guarantees. The SDS extraction API for teams that own their own compliance stack.

Free Sample

$0

3 sample documents, no card required

  • Sample extraction via web upload
  • JSON, XML, and CSV output
  • Confidence scores and warnings
Try a Sample

Self-Serve

$0.25 /doc

Prepaid credit, no setup fee

  • Create your account and API keys in the dashboard
  • Prepaid credit; failed extractions are not billed
Create an account

Enterprise

Priced to value

Setup + SLA + residency + custom validation

  • SLA-backed dedicated deployment
  • EU and India data residency
  • Custom validation rules; pictogram/vision extraction add-on
Request Implementation Plan

Get a Self-Serve API Key

Create an account, add credit and make your own API key. No sales call and no form to wait on.

  1. Create an account. Sign in with Google, a magic link or email and password.
  2. Add credit. Prepaid packs from $25 (100 documents), paid by card in USD, GBP or EUR. VAT is added where it applies and every payment gets an invoice.
  3. Create an API key and send your first PDF. The quickstart takes two minutes.

Create an account Sign in

Need a purchase order, a larger volume, a dedicated deployment or a custom schema? Talk to us.

Integration Friendly

Integrate with enterprise systems and custom middleware using REST API-compatible workflows.

SAP Oracle Salesforce Custom EHS Platforms REST API Compatible

API Docs Structure

Minimal endpoint design with confidence scoring, extraction warnings, and production integration controls.

Method Endpoint Description
POST /extract-sds Upload SDS file and return structured extraction response.
POST /api/sample-upload Website sample endpoint for interactive trial uploads with JSON, XML, and CSV output.
POST /extract-sds/bulk Submit up to 10 files as one job; returns a job ID immediately, processes in the background.
GET /extract-sds/bulk/:jobId Poll job and per-item status/results.
your callback_url (outbound, not our route) We POST a signed webhook to your own callback URL when a bulk job finishes.

Request

file: binary
language_hint: optional string
schema_version: optional string

Response

{
  "outputs": {
    "json": { "...": "structured SDS fields" },
    "xml": "<sds_extraction>...</sds_extraction>",
    "csv": "field,value"
  },
  "confidence_score": 0.97,
  "warnings": ["Low confidence in Section 14 table row 2"]
}

Full API reference

Frequently Asked Questions

Does this support scanned PDFs?

Yes. OCR-assisted extraction handles scanned SDS documents, then maps recovered text into structured sections with confidence scores.

Does it support multilingual SDS?

Yes. We support multilingual SDS formats across EU, US, and APAC supplier templates, including mixed language labels.

Is data retained?

Retention policy is configurable by plan. Stateless processing and controlled retention windows are available for enterprise deployments.

What is the accuracy rate?

Accuracy varies by source quality. Production users combine confidence thresholds, warnings, and custom validation rules for governance-grade workflows.

Turn SDS Documents into Structured Compliance Data

Launch integration quickly and move SDS ingestion from manual workflows to enterprise compliance data infrastructure.