# step.parts 12,000+ open source STEP parts for your next CAD project ## Preferred machine endpoints - Paginated parts API: https://api.step.parts/v1/parts - Single part API: https://api.step.parts/v1/parts/din913_set_screw_m3x3 - Local/dev STEP route: https://www.step.parts/step/din913_set_screw_m3x3.step - OpenAPI contract: https://api.step.parts/v1/openapi.json - Catalog schema and field semantics: https://api.step.parts/v1/catalog/schema - Compact discovery index: https://api.step.parts/v1/catalog/parts.index.json ## Catalog fields API catalog records contain: - id: stable snake_case ASCII identifier - name: human-readable part name - description: source-authored summary text - category: broad open-string aisle, such as fastener, bearing, stock, profile, spacer, pin, or motion - family: optional but strongly encouraged product/part family for faceting and related grouping when a natural grouping exists; use commodity families such as socket-head-cap-screw or t-slot-extrusion, and product/platform families such as damiao, feetech, raspberry-pi, or arduino for actuators/electronics - tags: supplemental reusable type, function, material, interface, or feature labels; category, family, standard, model/SKU, dimension, manufacturer, alias, and provenance values live in dedicated fields - aliases: alternate names and compact lookup strings - standard: optional standard object with body, number, and designation - stepSource: optional direct URL to a live STEP/STP source file - productPage: optional product page URL for the STEP file - attributes: part-specific scalar facts such as thread, lengthMm, bore1Mm, material, profileSeries, or slotSizeMm - stepUrl: URL for the canonical STEP file; local/dev resolves through /step/{id}.step and production uses a commit-pinned GitHub LFS media URL - glbUrl: absolute Vercel Blob URL for the GLB preview - pngUrl: absolute Vercel Blob URL for the PNG thumbnail - byteSize: STEP file size in bytes - sha256: STEP file SHA-256 checksum The paginated API returns matching records with absolute pageUrl, apiUrl, glbUrl, and pngUrl values; stepUrl resolves locally in dev/test and to GitHub LFS media in production. ## Catalog freshness - Catalog part count: 12734 - Catalog last modified: 2018-10-20T01:46:40.000Z - Catalog SHA-256: 05a527749de56cf65c30030e5456b4dbef67ea7c9a5ff712996efdb26be0833e - API and machine-readable catalog endpoints include ETag and Last-Modified headers. ## API query parameters - q: metadata search across id, name, description, category, family, stepSource, productPage, tags, aliases, standard fields, attribute keys, and attribute values - tag: repeated supplemental tag filter; values within tag are ORed - category, family, standard: repeated filters for dedicated metadata fields; values within one field are ORed, and selected facet fields are ANDed together - page: 1-based result page - pageSize: result page size; defaults to 100 and is capped at 500 Unfiltered results start with a fixed 100-part showcase, then continue in stable source catalog order. Filtered results are ordered by stable source catalog order. Examples: - https://api.step.parts/v1/parts?q=M3&tag=screw&page=2 - https://api.step.parts/v1/parts?pageSize=100 - https://api.step.parts/v1/parts?category=fastener&family=socket-head-cap-screw&standard=ISO%204762 - https://api.step.parts/v1/parts?q=lengthMm%2012 - https://api.step.parts/v1/parts/din913_set_screw_m3x3 ## Common agent tasks - Find ISO 4762 socket head cap screws: https://api.step.parts/v1/parts?category=fastener&family=socket-head-cap-screw&standard=ISO%204762 - Find M3 screw-like parts: https://api.step.parts/v1/parts?q=M3&tag=screw - Resolve an alias such as SHCS: https://api.step.parts/v1/parts?q=SHCS - Search attribute names and values: https://api.step.parts/v1/parts?q=lengthMm%2012 - Get a cheap id/name index before fetching details: https://api.step.parts/v1/catalog/parts.index.json - Fetch one part and use its stepUrl/glbUrl/pngUrl/pageUrl: https://api.step.parts/v1/parts/din913_set_screw_m3x3 - Discover field meanings and family-specific attributes: https://api.step.parts/v1/catalog/schema - Generate tools from the API contract: https://api.step.parts/v1/openapi.json ## Asset URL patterns - Part page: https://www.step.parts/parts/%7Bid%7D - Local/dev STEP file route: https://www.step.parts/step/%7Bid%7D.step - Production STEP files: commit-pinned GitHub LFS media URLs exposed as stepUrl - GLB preview: use the absolute glbUrl returned by the API record - PNG thumbnail: use the absolute pngUrl returned by the API record ## Usage notes - Use /v1/parts when you need filtered results, pagination metadata, facet counts, or absolute URLs. - Use /v1/openapi.json to generate API clients or agent tools. - Use /v1/catalog/schema to understand field meanings, result ordering, and family-specific attribute meanings. - Use /v1/catalog/parts.index.json for compact discovery before fetching one record or a paginated result page. - Download through stepUrl; production STEP URLs redirect to GitHub LFS media, and downloaded STEP files can be verified with the sha256 field. - Individual STEP, GLB, and PNG assets are discoverable from catalog records, not listed individually in the sitemap. Current catalog size: 12734 parts. Example id: din913_set_screw_m3x3