Make your factory machine-readable
v1.0A single JSON file describes a factory's capabilities, certifications, production constraints, and interaction endpoints — in a format any AI agent, procurement platform, or search engine can understand.
Create a factory.json file with 4 required fields
Serve at /.well-known/factory.json on your domain
{
"$schema": "https://factoryschema.org/factory.schema.json",
"name": "My Factory",
"location": "Shenzhen, CN",
"capabilities": ["CNC milling", "CNC turning"]
}
Only 4 fields required: $schema, name, location, and capabilities. Everything else is optional.
Hosted at a RFC 8615 well-known URI. AI agents and platforms find your factory without any prior knowledge of your site structure.
Start with just 4 required fields. Add certifications, equipment, lead times, quality processes, and more as you go.
Validated against JSON Schema Draft 2020-12. Structured data that software can parse, compare, and act on.
The factory.json schema organizes factory data into logical sections. Required fields are marked with a badge.
$schema req — Schema URIname req — Factory trade namelocation req — String or structured objectcapabilities req — Processes, materials, equipmentversion — Schema version ("1.0")legal_name — Registered legal entity namedescription — Free-text descriptionvertical — Industry verticalfounded_year — Year establishedemployees — Employee count rangelanguages — ISO 639-1 language codeswebsite — Factory website URLindustries_served — Markets and segmentsprocesses req — Manufacturing processesmaterials — Workable materialsfinishes — Surface finishes / post-processingsecondary_services — Assembly, heat treatment, etc.equipment — Equipment list with specsShorthand: ["CNC milling", "turning"]
type req — e.g. "ISO 9001", "GOTS"body — Issuing bodyid — Certificate IDissued / expires — Datesurl — Verification linkmoq — Minimum order quantitylead_time — Min/max days, sample dayscapacity — Production capacitymax_dimensions — Max part dimensionsmax_weight — Max part weighttolerances — Standard and precisionmin_order_value — Minimum order valuetesting — Testing methodsqc_process — QC workflow descriptioninspection_equipment — Measurement geardocumentation — FAI, CoC, mill certsdefect_rate_ppm — Defect rate in PPMtraceability — Material traceabilityfile_formats — STEP, Gerber, DXF, etc.dfm_review — DFM feedback offeredprototyping — Sample runs availablereverse_engineering — From physical samplecad_cam_software — In-house softwarecodesign — Co-design servicesincoterms — EXW, FOB, CIF, DDPmethods — Air, sea, expressmarkets_served — Countries / regionspackaging — Packaging capabilitiesfree_port — Nearest free trade zoneterms — Net 30, deposit, etc.methods — T/T, L/C, PayPalcurrencies — ISO 4217 codesip_protection — IP measuresexport_controls — ITAR, EARenvironmental — RoHS, ISO 14001social — SA8000, BSCI, SMETArfq — RFQ submission URIapi — REST API base URLmcp — MCP server URIwebsite — Factory websiteemail — Contact emailphone — Contact phonelogo — Logo image URLcover — Cover / hero imagegallery — Gallery image URLstimezone — IANA timezonehours — Operating hoursresponse_time — RFQ response timemax_layers for PCB, gsm_range for textilesReal-world factory profiles across manufacturing verticals.
{
"$schema": "https://factoryschema.org/factory.schema.json",
"version": "1.0",
"name": "Precision Works Manufacturing Co.",
"legal_name": "Precision Works Manufacturing (Shenzhen) Co., Ltd.",
"description": "High-precision CNC machining facility specializing in aerospace and medical-grade components.",
"vertical": "machining",
"location": {
"city": "Shenzhen",
"region": "Guangdong",
"country": "CN",
"postal_code": "518000",
"timezone": "Asia/Shanghai",
"coordinates": { "lat": 22.5431, "lng": 114.0579 }
},
"founded_year": 2008,
"employees": { "min": 120, "max": 150 },
"languages": ["zh", "en"],
"website": "https://precisionworks.example.com",
"industries_served": [
"aerospace", "medical devices", "defense",
"semiconductor equipment", "robotics"
],
"capabilities": {
"processes": [
"5-axis CNC milling", "CNC turning", "wire EDM",
"sinker EDM", "surface grinding",
"cylindrical grinding", "jig boring"
],
"materials": [
"aluminum 6061-T6", "aluminum 7075-T6",
"titanium Ti-6Al-4V", "stainless steel 304",
"stainless steel 316L", "Inconel 718", "PEEK"
],
"finishes": [
"anodizing Type II (color)", "anodizing Type III (hard coat)",
"passivation (citric & nitric)", "electropolishing",
"bead blasting", "powder coating"
],
"equipment": [
{
"name": "DMG Mori DMU 50",
"type": "5-axis CNC mill",
"count": 4,
"specs": { "travel_x_mm": 500, "spindle_rpm": 20000 }
},
{
"name": "Mazak QTN-200",
"type": "CNC lathe",
"count": 6
}
]
},
"certifications": [
{ "type": "ISO 9001:2015", "body": "TÜV SÜD", "expires": "2026-06-14" },
{ "type": "AS9100D", "body": "BSI", "expires": "2026-08-31" },
{ "type": "ITAR Registered", "body": "U.S. DDTC" }
],
"constraints": {
"moq": { "min": 1, "max": 10000, "unit": "pieces" },
"lead_time": {
"min_days": 10, "max_days": 35,
"sample_days": 5, "expedite_available": true
},
"tolerances": {
"standard": "±0.025 mm (ISO 2768-m)",
"precision": "±0.002 mm"
}
},
"quality": {
"testing": ["CMM inspection", "first article inspection (FAI / AS9102)"],
"defect_rate_ppm": 800
},
"endpoints": {
"rfq": "https://precisionworks.factoryschema.org/rfq",
"mcp": "https://precisionworks.factoryschema.org/.well-known/mcp",
"email": "sales@precisionworks.example.com"
}
}
{
"$schema": "https://factoryschema.org/factory.schema.json",
"version": "1.0",
"name": "TaiPCB Technology Co., Ltd.",
"description": "Advanced multilayer and HDI PCB fabrication for automotive, telecom, and industrial applications.",
"vertical": "pcb",
"location": {
"city": "Taoyuan",
"country": "TW",
"timezone": "Asia/Taipei"
},
"founded_year": 2003,
"employees": { "min": 300, "max": 350 },
"languages": ["zh", "en", "ja"],
"capabilities": {
"processes": [
"multilayer PCB fabrication",
"HDI (High Density Interconnect)",
"flex-rigid PCB", "impedance control",
"blind/buried vias", "heavy copper (up to 6 oz)"
],
"materials": [
"FR-4 (Tg 170°C)", "FR-4 high-Tg (Tg 180°C)",
"Rogers RO4350B", "polyimide", "aluminum-backed"
],
"finishes": [
"ENIG", "HASL (lead-free)", "OSP",
"immersion silver", "hard gold"
]
},
"certifications": [
{ "type": "ISO 9001:2015", "body": "SGS" },
{ "type": "IATF 16949:2016", "body": "TÜV Rheinland" },
{ "type": "UL Listed", "body": "UL", "id": "E123456" },
{ "type": "ISO 14001:2015", "body": "SGS" }
],
"constraints": {
"moq": { "min": 5, "max": 50000, "unit": "panels" },
"lead_time": {
"min_days": 5, "max_days": 25,
"sample_days": 3, "expedite_available": true
},
"tolerances": {
"standard": "±0.1 mm (outline)",
"min_feature_size": "2.5 mil trace/space (63 µm)"
}
},
"quality": {
"testing": [
"automated optical inspection (AOI)",
"electrical testing (flying probe & fixture)",
"impedance testing (CITS)"
],
"defect_rate_ppm": 500
},
"endpoints": {
"rfq": "https://taipcb.factoryschema.org/rfq",
"mcp": "https://taipcb.factoryschema.org/.well-known/mcp",
"email": "rfq@taipcb.example.com"
},
"custom": {
"max_layers": 32,
"min_trace_mil": 2.5,
"min_via_diameter_mm": 0.1,
"max_copper_weight_oz": 6
}
}
{
"$schema": "https://factoryschema.org/factory.schema.json",
"version": "1.0",
"name": "Sunrise Textiles Pvt. Ltd.",
"description": "Vertically integrated knit garment manufacturer specializing in organic cotton basics and activewear.",
"vertical": "textiles",
"location": {
"city": "Tirupur",
"region": "Tamil Nadu",
"country": "IN",
"timezone": "Asia/Kolkata"
},
"founded_year": 1997,
"employees": { "min": 500, "max": 600 },
"languages": ["ta", "en", "hi"],
"capabilities": {
"processes": [
"knitting", "dyeing", "cut-and-sew",
"embroidery", "screen printing",
"sublimation printing", "garment washing"
],
"materials": [
"organic cotton", "BCI cotton",
"cotton-polyester blends", "recycled polyester",
"Tencel / lyocell", "bamboo viscose"
],
"finishes": [
"enzyme wash", "silicone softener",
"anti-pilling", "moisture wicking"
]
},
"certifications": [
{ "type": "GOTS", "body": "Control Union", "id": "CU-1012345" },
{ "type": "OEKO-TEX Standard 100", "body": "Hohenstein" },
{ "type": "GRS (Global Recycled Standard)", "body": "Control Union" },
{ "type": "ISO 9001:2015", "body": "Bureau Veritas" }
],
"constraints": {
"moq": { "min": 500, "max": 50000, "unit": "pieces" },
"lead_time": {
"min_days": 21, "max_days": 45,
"sample_days": 10, "expedite_available": true
},
"capacity": { "value": 50000, "unit": "pieces", "period": "month" }
},
"quality": {
"testing": [
"fabric GSM testing",
"color fastness (wash, rub, light)",
"shrinkage testing (AATCC 135)",
"pilling resistance (ISO 12945)"
],
"defect_rate_ppm": 2500
},
"endpoints": {
"rfq": "https://sunrise.factoryschema.org/rfq",
"mcp": "https://sunrise.factoryschema.org/.well-known/mcp",
"email": "orders@sunrisetextiles.example.com"
},
"custom": {
"fabric_types": ["jersey", "interlock", "rib", "pique", "french terry"],
"gsm_range": { "min": 120, "max": 400 },
"size_range": "XS-5XL",
"color_matching": "Pantone TPX/TCX"
}
}
Key sections from the full specification.
A factory.json file SHOULD be hosted at the well-known URI per RFC 8615:
https://{domain}/.well-known/factory.json
Content-Type: application/jsonCache-Control: max-age=86400 (24 hours)/factory.json)| Field | Type | Description |
|---|---|---|
$schema | string | MUST be "https://factoryschema.org/factory.schema.json" |
name | string | Trade name of the factory (non-empty) |
location | string | object | Factory location — string shorthand or structured object with city, country, coordinates |
capabilities | string[] | object | What the factory can produce — array shorthand or full object with processes, materials, equipment |
factory.json follows Semantic Versioning 2.0.0:
Serve your factory.json at the well-known URI so AI agents and platforms can discover it.
Start with the minimal example and add fields from the schema. Validate against the JSON Schema.
Set up a route to serve the file at /.well-known/factory.json:
location = /.well-known/factory.json {
alias /var/www/factory.json;
default_type application/json;
add_header Cache-Control "public, max-age=86400";
add_header Access-Control-Allow-Origin "*";
}
RewriteEngine On
RewriteRule ^\.well-known/factory\.json$ /factory.json [L]
<Files "factory.json">
ForceType application/json
Header set Cache-Control "public, max-age=86400"
Header set Access-Control-Allow-Origin "*"
</Files>
handle /.well-known/factory.json {
root * /var/www
rewrite * /factory.json
file_server
header Content-Type application/json
header Cache-Control "public, max-age=86400"
header Access-Control-Allow-Origin "*"
}
curl -s https://yourdomain.com/.well-known/factory.json | jq .
factory.json is an open standard. Contributions are welcome.
Open a GitHub Issue with the field name, type, motivation, and example. Proposals are discussed for at least 14 days before a decision.
Found a schema validation issue or spec error? Open an issue with a reproduction JSON snippet.
Fork, branch from main, update the schema + SPEC.md + examples, and open a pull request.