Xometry Scraper | Capabilities, Materials & Case Studies avatar

Xometry Scraper | Capabilities, Materials & Case Studies

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Xometry Scraper | Capabilities, Materials & Case Studies

Xometry Scraper | Capabilities, Materials & Case Studies

Extract Xometry's public capabilities, materials, finishes, industries, resources and case studies, primarily from the US website. Get titles, URLs, FAQs, images and published company contacts. Pay per delivered row plus a start fee.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Xometry Scraper

Extract Xometry's public manufacturing capabilities, materials, finishes and case studies, primarily from its US website, as rows you can export.

  • Page titles, URLs, FAQs, images and content sections.
  • Capability, material, industry and resource catalogs.
  • Public Xometry headquarters contact details when available, not supplier-network contacts.
  • Optional child capability pages as separate rows.
  • Pay $3.00 per 1,000 delivered rows on the Free plan, plus a small start fee.

What does Xometry Scraper do?

Xometry Scraper collects public marketing content from Xometry, not manufacturing quotes or private account data. Use it to compare services, organize technical reference material or monitor published case studies. It is an unofficial tool, not affiliated with Xometry.

  • Lists: capabilities, materials, finishes, industries, resources and case studies.
  • Details: a capability, material or case study selected by its slug.
  • URLs: several supported pages through startUrls.
  • Discovery: a catalog overview or sitemap sections.
  • Child pages: crawlChildren is off by default; additional pages count toward the limit and are billed like other rows.

What data can you extract from Xometry?

Rows share the following fields. Availability varies by page; arrays can be empty and scalar values can be null. Tables below separate the main row types and their additional fields.

FieldDescriptionExample
rowTypeKind of page or index rowcapability
recordTypePage classification, normally matching rowTypecapability
idRow identitycnc-machining-service
uidPage identifiercnc-machining-service
titlePage titleCNC Machining Services
urlPage URLhttps://www.xometry.com/capabilities/cnc-machining-service/
canonicalUrlPreferred URL published by the sourcehttps://www.xometry.com/capabilities/cnc-machining-service/
domainDomain associated with the rowwww.xometry.com
countryCountry label; not proof of localized contentUS
contentDepthAvailable content level, not private-account accessapi_full
scrapedAtCollection timestamp2026-10-24T08:00:00+00:00
faqPublished question-and-answer entries[]
imagesImage URLs[]
leadAbsencesReasons contact fields are empty{}

Capability rows: capability

FieldDescriptionExample
childrenRelated child capability identifiers["cnc-turning-service"]
tablesTechnical table summaries[]

Material rows: material

FieldDescriptionExample
tablesMaterial table summaries[]
sectionsAvailable content sections[]

Finish detail rows: finish

FieldDescriptionExample
sectionsFinish descriptions[]

Finish overview rows: finishes

FieldDescriptionExample
sectionsFinish overview content[]

Industry detail rows: industry

FieldDescriptionExample
sectionsIndustry page content[]

Industry overview rows: industries

FieldDescriptionExample
sectionsIndustry overview content[]

Article rows: content_post

FieldDescriptionExample
categoryPublished content categoryguides
authorPublished author label or identifierJane Doe

Case-study rows: case_study

FieldDescriptionExample
authorCase-study author, not a factory contactJane Doe
readTimeMinutesPublished reading-time estimate5

Home rows: home

FieldDescriptionExample
addressPublished headquarters address, if presentnull

Contact rows: contact

FieldDescriptionExample
phonesPublished contact numbers[{"value":"+1 555 0100","type":"office"}]
emailsPublished contact inboxes[{"value":"name@example.com","type":"general"}]

About rows: about

FieldDescriptionExample
emailsPublished company contact inboxes[]
orgPublished company identity{"name":"Xometry, Inc."}

Capability hub rows: capabilities_hub

FieldDescriptionExample
childrenCapability identifiers in this selection["cnc-machining-service"]

Material hub rows: materials_hub

FieldDescriptionExample
childrenMaterial identifiers in this selection["material-cnc-machining-metal"]

Finish hub rows: finishes_hub

FieldDescriptionExample
childrenFinish identifiers in this selection[]

Industry hub rows: industries_hub

FieldDescriptionExample
childrenIndustry identifiers in this selection["automotive"]

Resource hub rows: resources_hub

FieldDescriptionExample
childrenLinked content identifiers when available[]

Resource overview rows: resources

FieldDescriptionExample
sectionsResource overview content[]

Content hub rows: content_hub

FieldDescriptionExample
titleContent hub titleResources

Catalog rows: catalog

FieldDescriptionExample
capabilityCountReported capability total, when availablenull
materialCountReported material total, when availablenull
caseStudyCountReported case-study total, when availablenull

Sitemap index rows: sitemap_index

FieldDescriptionExample
totalPathsNumber of discovered sitemap paths100

Sitemap section rows: sitemap_section

FieldDescriptionExample
sitemapCountNumber of paths in the section20
seedsSuggested page identifiers for later inputs[]

Restricted quote-page rows: quoting_gated

FieldDescriptionExample
contentDepthRestriction marker, not quote datagated

Restricted account-page rows: auth_gated

FieldDescriptionExample
titleRestricted-page labelAuthentication required

Other page rows: page

FieldDescriptionExample
titleAvailable public page titleXometry

Contact details on content pages can repeat Xometry headquarters information; they do not identify the manufacturer featured in a case study.

How to scrape Xometry

  1. Open Xometry Scraper in Apify Console.
  2. Fill one target field or choose a list mode.
  3. Set maxResults to 3 for a small first run.
  4. Click Start and wait for completion.
  5. Download the dataset or read it through the API.

Empty input starts an example using https://www.xometry.com/capabilities/, limited to three rows. Normal event prices still apply. With mode set to auto, one filled target field selects its matching mode. Clear the prefilled startUrls when using a slug instead.

Automatic selection: auto

Use one of startUrls, capabilitySlug, materialSlug or caseStudyUid. When targets conflict, URLs take priority, followed by case-study, capability and material identifiers.

Capabilities: capabilities

List capability pages without a slug. A hub row can also occupy a place in the result limit.

One capability: capability

Fill capabilitySlug. Nested paths such as cnc-machining-service/cnc-turning-service are accepted.

Materials: materials

List material pages and their available descriptions.

One material: material

Fill materialSlug with a published material identifier.

Finishes: finishes

List published finish pages.

Case studies: case_studies

List case studies with available titles, categories and author information.

One case study: case_study

Fill caseStudyUid with the final identifier from its URL.

Page URLs: start_urls

Fill startUrls. A hub URL selects its list; a detail URL selects its page. Home, contact and about pages use this mode too.

Catalog: discover

Get a catalog overview and a limited selection of capabilities and case studies, not a guaranteed full-site export.

Industries: industries

List public industry pages, such as automotive pages.

Resources: resources

List published resource articles, which can include case studies.

Sitemap: enumerate

Get sitemap index and section rows, including suggested page identifiers. These are not full page details.

What to fill in

FieldWhat to enterDefault
modeOne of the modes aboveauto
startUrlsSupported Xometry URLsEmpty; form sample is the capabilities hub
capabilitySlugCapability identifier or nested pathEmpty
materialSlugMaterial identifierEmpty
caseStudyUidCase-study identifierEmpty
maxResultsRows per input, from 1 to 5,00070; form sample 3
countryUS, GB, DE or EU; aliases USA, GBR, UK, DEUUS
domainwww.xometry.com, www.xometry.co.uk, www.xometry.de or www.xometry.euwww.xometry.com
crawlChildrenInclude additional child capability rowsfalse
maxDepthChild-page depth limit where supported, 0–52
enrichDetailsRequest additional details where supportedtrue
usePrismicKeep enabled for standard collectiontrue
proxyCountryOptional two-letter request-country hintUS

Use matching country and domain values for regional requests. They do not guarantee regional content. Some modes include detailed fields regardless of enrichDetails.

Automatic selection:

{"mode":"auto","capabilitySlug":"cnc-machining-service","maxResults":3}

Capabilities:

{"mode":"capabilities","maxResults":3}

One capability:

{"mode":"capability","capabilitySlug":"cnc-machining-service","maxResults":3}

Materials:

{"mode":"materials","maxResults":3}

One material:

{"mode":"material","materialSlug":"material-cnc-machining-metal","maxResults":1}

Finishes:

{"mode":"finishes","maxResults":3}

Case studies:

{"mode":"case_studies","maxResults":3}

One case study:

{"mode":"case_study","caseStudyUid":"sentrilock","maxResults":1}

Page URLs:

{"mode":"start_urls","startUrls":["https://www.xometry.com/contact-us/"],"maxResults":1}

Catalog:

{"mode":"discover","maxResults":5}

Industries:

{"mode":"industries","maxResults":3}

Resources:

{"mode":"resources","maxResults":3}

Sitemap:

{"mode":"enumerate","maxResults":3}
  • maxItems and limit are aliases for maxResults.
  • Close field-name misspellings are corrected; other unknown fields are ignored with a note.
  • Invalid targets stop collection with INVALID_INPUT: <field> — <how to fix>, before any row is charged. The start fee can still apply.
  • INPUT_REPORT in the default key-value store records filled, corrected and ignored fields. INPUT_ECHO shows the accepted settings; RUN_SUMMARY records completed runs or quota limits, and ERROR_SUMMARY records failures.

Output example

Illustrative capability row; field availability depends on the source page:

{
"rowType": "capability",
"recordType": "capability",
"id": "cnc-machining-service",
"uid": "cnc-machining-service",
"title": "CNC Machining Services",
"url": "https://www.xometry.com/capabilities/cnc-machining-service/",
"domain": "www.xometry.com",
"country": "US",
"contentDepth": "api_full",
"children": ["cnc-turning-service"],
"faq": [],
"images": [],
"phones": [],
"emails": [],
"address": null,
"scrapedAt": "2026-10-24T08:00:00+00:00"
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. JSON preserves nested arrays and objects.

Why use this Xometry scraper?

  • Pay for delivered rows. Page attempts are not separate result charges.
  • Several URLs per run. Combine supported targets in startUrls; duplicate rows are removed.
  • Missing data stays empty. Contact absence reasons help distinguish missing information from available details.
  • Reviewable input. Saved input and error records help explain unexpected results.
  • No proxy setup. You do not need to set up proxies.

Rows already written remain in the dataset after a stop. Do not assume that every page collected before an interruption has already been delivered.

How much does it cost to scrape Xometry?

The Actor uses pay-per-event pricing. The start event costs $0.005 per GB of Actor memory, with at least one event charged. At the default 512 MB, the start fee is $0.005. Platform usage is included in these prices.

Apify planStart fee at 512 MBPrice per rowPrice per 1,000 rows
Free$0.005$0.003$3.00
Starter$0.005$0.003$3.00
Scale$0.005$0.0026$2.60
Business$0.005$0.0022$2.20
  • maxResults applies to each input, not the whole run. The default is 70; larger requests are collected in smaller parts as more rows are available.
  • Free Apify plan users are limited to 10 runs of this Actor and 200 rows per run.
  • Maximum cost per run (maxTotalChargeUsd in the API) limits the whole run's spending.
  • Hub, catalog and child-page rows count toward the same limits and result price.

Example: three distinct inputs delivering five rows each produce 15 billed rows. On the Free plan at 512 MB, the cost is 15 × $0.003 + $0.005 = $0.050. Fewer delivered rows mean a smaller result charge; the start fee remains.

What happens when the run timeout is too short

Some Xometry collections, such as several startUrls with crawlChildren: true and enrichDetails: true or a large maxResults, can take longer than the run timeout you chose. In that case the run does not fail. It ends early with the status message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." and shows as ABORTED for a while.

When the results are ready, the same run starts again by itself, reports "Resumed: delivering N rows.", writes the rows to the same dataset and finishes as SUCCEEDED. Rows that were already delivered are skipped, so no row is delivered or charged twice. You do not need to start another run.

  • This can happen at most 3 times per run. To avoid it, keep the default timeout of 3600 seconds.
  • The synchronous API endpoints (run-sync, run-sync-get-dataset-items) wait at most 300 seconds and can return an empty dataset while the run is paused. For larger jobs, start the run asynchronously and read the dataset after the run reaches SUCCEEDED, or use a webhook on the "succeeded" event.

Use with AI agents and the API

Apify MCP server

Add this remote server in a compatible Claude, ChatGPT, Cursor or VS Code client:

https://mcp.apify.com?tools=lentic_clockss/xometry-scraper

Sign in with Apify using OAuth when prompted, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns run and dataset IDs; read rows with get-dataset-items. Clients without remote support can use npx @apify/actors-mcp-server --tools lentic_clockss/xometry-scraper with APIFY_TOKEN.

Example prompt: "Get up to three Xometry capability rows and return their titles and URLs."

Apify API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/xometry-scraper").call(
run_input={"mode": "capabilities", "maxResults": 3}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/xometry-scraper').call({
mode: 'capabilities', maxResults: 3,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Over HTTP, send input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~xometry-scraper/runs with Authorization: Bearer <YOUR_APIFY_TOKEN>. After completion, use GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Integrations tab for Google Sheets, Make, Zapier, n8n, Slack, Airtable or webhooks. Apify Schedules can run recurring catalog checks.

FAQ

This Actor targets public data. You are responsible for complying with Xometry's terms and applicable data protection laws. Processing personal data requires a lawful basis; public availability alone does not grant unrestricted reuse rights.

Why did my run end as ABORTED?

An aborted run was stopped before normal completion. Check its status message and log for the actual reason, including any manual stop. Do not assume it will restart automatically. Inspect the dataset before starting another run.

How many results can I get?

Request 1–5,000 rows per input. Availability, duplicate removal, your cost limit and Free-plan caps can reduce delivery. Hub and index rows occupy places in that total.

Why are some fields empty?

Not every page publishes FAQs, images or contact details. Different page types provide different fields. leadAbsences explains missing contact information where available.

Does it return supplier-network contacts?

No. Contact fields describe Xometry's published headquarters or company contacts, not private manufacturing partners. Repeated contact values across pages are not separate suppliers.

Does it support Instant Quote?

No. Part prices, CAD uploads, design-for-manufacturing checks and private quote or order data are outside scope. A restricted-page marker is not a successful quote extraction.

Do regional domains guarantee regional data?

No. The main content coverage is the US website. Regional requests can return US content or fail to provide the requested pages. Check actual URLs and titles rather than relying on country alone.

Does turning off enrichment remove all detail fields?

No. Some modes already provide FAQ, images and published contact data independently of enrichDetails. The setting is not a universal field-removal switch.

Limitations

  • Marketing content only, not a supplier directory or transactional API.
  • No guarantee of complete regional coverage or a full catalog in a limited run.
  • Attribute arrays are capped at 50 entries; large rows can be shortened and marked rowTruncated.
  • Child-page depth behavior varies by mode; maxDepth is not a universal traversal guarantee.
  • Sitemap rows describe paths, not page contents. Summary counts can exceed the number of detail rows delivered.
  • Source changes or unavailable pages can produce fewer rows or a failed run.

More B2B supplier and wholesale marketplace scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Report problems or request a field through the Issues tab of this Actor's page. Include the run ID and the input you used.