Supplier PDF / by cory8484

Supplier catalogs · CSV & JSON · API automation

Your supplier PDF.
Structured product rows.

Extract SKU, description and price data from supported supplier tables. See the actual sample output, then put repeat catalog updates into your own workflow.

Inspect the sample without an account. Running the tool requires your own Apify account.

Working with a revised catalog? Compare old and new supplier prices →

CSV + JSONStructured rows with source references
Up to 5 PDFsIn one extraction batch
$2 / 1,000 rowsDelivered product rows · Sep 14 pricing

See what comes out.

This fictional PDF contains three priced items and one “Call for price” item. The unpriced item stays separate; the extractor does not invent a price.

Selected fields from the included sample · currency USD · full schema in the downloads
SKUDescriptionPriceOutput
BOLT-001Stainless bolt — box of 5012.50Product row
WASH-002Flat washer — pack of 1008.75Product row
NUT-003Lock nut — pack of 10015.00Product row
CUT-004Custom cut bracketCall for priceReview record

Reproduced locally from the product source on September 14, 2026. Fictional sample, not a customer result or a universal accuracy claim.

Convert your first supplier price list.

Start small: one compatible PDF and up to 100 candidate rows. At the current rate, 100 delivered product rows cost $0.20.

Use your own document.

  1. Check that your PDF has selectable text, visible table borders and SKU, description and price headers.
  2. Open the tool on Apify and sign in. Enter a direct HTTPS PDF URL you have permission to process.
  3. Choose the document’s currency and number format. Set maxRows to 100 and choose up to 20 pages.
  4. Check the run’s spending limit before starting. Save the run ID, then download PRODUCTS.csv and inspect SUMMARY and REVIEW.
Convert my supplier PDF on Apify ↗

A small first run. Clear pricing.

$0.002 per delivered product row. Review records have no product-row charge. They count toward the candidate-row limit, so you may receive fewer than 100 products.

A row limit does not replace a spending limit. Confirm the limit in Apify before starting and check current pricing and account limits.

No sales call or manual onboarding. Scans and arbitrary borderless tables are unsupported. Keep confidential documents out of public URLs.

Optional: help us learn which guides lead to useful runs

Prepare your first-run input with a random reference. We save that reference, the guide campaign, the date and a test flag. Your PDF URL stays in your browser until you paste the input into Apify; this guide does not upload or read your PDF.

The reference can link a run back to this guide for 30 days if the run is separately shared with us. It does not change Apify sharing settings or prove a purchase. Standard input works without it.

No reference is created until you opt in.

From PDF to usable data.

Start with the demo. Then test one compatible supplier file before connecting the output to a catalog, PIM or ERP.

01 / TRY THE DEMO

Inspect a known input.

Open Supplier Price List to CSV, choose JSON input and submit the empty object below. Set a positive maximum run charge, such as $0.25.

{}

The built-in demo has no product-row charge. Your Apify account limits still apply.

02 / ADD YOUR CATALOG

Use a direct PDF link.

Replace the illustrative URL with a public HTTPS PDF you have permission to process. Use either pdfUrl or pdfUrls.

{
  "pdfUrls": ["https://your-supplier.example/catalog.pdf"],
  "currency": "USD",
  "numberFormat": "decimal-dot",
  "maxPages": 10,
  "maxRows": 125
}

Check the PDF format first. Use selectable text, visible table borders and recognizable SKU, description and price headers. Scans, handwriting, borderless tables and password-protected PDFs are unsupported. Keep confidential documents out of publicly accessible URLs.

03 / COLLECT YOUR EXPORT

Keep context with every row.

After a successful run, open its Storage tab. Download the delivered products and retain the diagnostic records alongside your export.

Map the fields to your destination before importing. Keep SKU columns as text to preserve leading zeros. A successful run may contain partial output when a document, page, row or spending limit is reached.

Download the complete quick start ↓
  • Dataset & PRODUCTS.csvDelivered product rows, with source references and CSV formula protection.
  • REVIEWAmbiguous or incomplete records, kept separate from charged products.
  • DOCUMENTSBatch document outcomes, including failed downloads.
  • SUMMARYOutput counts and whether the budget stopped delivery.

WHEN A SUPPLIER SENDS AN UPDATE

See which prices changed.

See the price-change example and n8n workflow →

Already have the previous catalog? Supplier Catalog Comparison checks two supported PDFs by exact SKU and exports price differences with source evidence.

Try its fictional demo with both PDF URLs blank. For your own pair, use matching currency and price basis, then inspect the diagnostics before importing.

Compare catalogs on Apify ↗

For repeat catalog updates

  • Increases, decreases and unchanged prices
  • Products observed in only one extracted catalog
  • CSV output plus separate review records

$5 per 1,000 delivered comparisons. Unchanged and one-sided results also count. Demo and review records have no product-event charge.

A $0.25 ceiling allows at most 50 paid comparisons. Ruled tables and a specific three-column borderless layout are supported. Check the listing for full limits and current pricing. Each run compares one supplied pair; it does not create a recurring schedule.

Pricing checked September 14, 2026. Your Apify account limits apply.

04 / MAKE UPDATES REPEATABLE

One run per document revision.

The free kit includes a Python client that saves the run ID and resumes collection from that same run. Use a new persistent state file for each new supplier revision.

For n8n, download the collector template below. Give it an existing extraction run ID; it waits for completion, checks the CSV row count and bundles the diagnostics. Collection retries never start another extraction.

The Python client passed 12 offline tests. The n8n collector passed 32 simulated checks; import and execution inside n8n still need validation. Downloads activate nothing. Neither example writes to an ERP or storefront.

Inside the automation kit

  • Fictional supplier PDF + CSV/JSON outputs
  • Python 3.10+ API client, with no dependencies
  • Demo and catalog input examples
  • n8n start / poll / export setup guide
  • Quick start, offline tests and result notes
Download ZIP · 57 KB ↓

Free download. Paid extraction runs use your Apify account.

Python: start once, then collect.

Store APIFY_TOKEN in your server environment or secret manager. From the extracted kit folder, run:

python3 apify_catalog.py start --input demo-input.json --state demo-run.json --budget 0.25 --allow-cloud-run
python3 apify_catalog.py resume --state demo-run.json --output demo-export

These commands submit and read a real cloud run when you execute them. On Windows, use py if that is your Python launcher. For a catalog, edit the included input example and choose a unique state path.

If collection times out, repeat resume with the same state. If a start response is lost, reconcile the existing run in Console; preserve the state file. The README explains recovery and spending-limit checks.

n8n: collect an existing run.

Import the workflow, select your protected Apify credential and enter the run ID. The final step returns PRODUCTS.csv and DIAGNOSTICS.json. It reads your existing results; normal API/storage usage may apply.

Offline-tested template. Start with an existing demo run. Configure your own destination mapping and exception handling before enabling imports.

Use it from your AI assistant.

Connect through MCP to inspect the tool, prepare input and collect a run. Use an Apify account and a client supporting remote HTTP MCP.

1. Connect to the extractor.

Add this server configuration in your client’s MCP settings, or enter its URL in the remote-server field. With an OAuth-capable client, follow the browser sign-in to Apify.

{
  "mcpServers": {
    "apify": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=fetch-actor-details,cory8484/my-actor"
    }
  }
}

Keep credentials out of prompts and shared examples. Clients without OAuth need a securely stored API token; follow the client’s credential instructions. Official MCP setup ↗

2. Inspect before you run.

Ask your assistant:

Inspect cory8484/my-actor with fetch-actor-details. Show the current input schema, supported documents and pricing. Do not start a run.

3. Prepare the demo, then confirm.

Prepare the built-in fictional demo using input {}. Show the execution settings and spending-limit control. Wait for my confirmation before starting once. Preserve the run ID and show products separately from review records. If the start response is lost, reconcile the existing run in Apify Console before retrying.

A prompt does not enforce a spending limit. If your client cannot expose and verify the supported run budget, use the Console or API workflow instead. Do not assume a requested $0 cap is enforced. The demo has no product-row charge; your account limits still apply.

For your own PDF, prepare input matching the live schema and confirm scope and budget first. The extractor’s document limits still apply. Neither tool updates your ERP or store.

Connect the catalog comparison tool instead

Use this alternative connection and inspect its own input schema, layout limits and pricing before executing.

{
  "mcpServers": {
    "apify": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=fetch-actor-details,cory8484/my-actor-1"
    }
  }
}
Comparison MCP setup ↗

Configurations checked against Apify’s documentation. An authenticated end-to-end MCP run has not been verified for this guide.

Know the scope.

Choose this tool for recurring, compatible supplier tables where structured exports save repeated re-entry.

What does a run cost?

Pricing observed September 14, 2026: $0.002 per delivered product row, or $2 per 1,000. Review records, failed documents and the built-in demo have no product-row charge. Check current Apify pricing before running.

A $0.25 maximum charge allows at most 125 charged rows at that rate. Review records also count toward the candidate-row limit, so a run can return fewer products. Choose a larger budget intentionally when processing larger catalogs; your account limits also apply.

Which documents and number formats are supported?

Up to five direct public HTTPS PDFs per batch, 10 MiB per PDF and 20 pages per document. The batch supports up to 5,000 candidate rows. Tables need selectable text, visible borders and recognizable headers.

Set the currency stated by the supplier and choose decimal dot or decimal comma explicitly. Supported currency choices include USD, CAD, AUD, EUR and GBP, plus unknown. A dollar sign alone does not establish USD.

Can I send the output directly to Shopify, a PIM or an ERP?

The export is an extraction input for your workflow. Validate the destination's field mapping and exception handling before enabling imports. Hold unresolved records and incomplete document results automatically. The kit includes no store connection, inventory write or manual correction service.

How do repeat runs and duplicate files work?

Repeated URLs and identical document bytes are skipped within a batch. A separate run can process and charge for the same file again. Keep a durable supplier ID plus revision or document hash in your workflow, and reserve that revision before starting a run.

Do not automatically retry the start request. Resume reads of the saved run instead. The client refuses to overwrite an existing state file.

Where are the API references?

Use Apify's start a run, read a run and download a record APIs. The n8n recipe uses HTTP Request and Wait nodes. Keep authentication in protected credentials.

Start with one supplier.

Inspect the sample, then convert your own compatible PDF.

Try it on Apify ↗

We count guide views, link clicks and files served by campaign to improve this guide. These counts do not identify unique visitors or prove purchases. No tracking cookies, IP addresses or document contents are stored by this measurement. If you opt in above, we additionally save a random run reference and campaign labels; this is not a visitor account or proof of payment. Browser Do Not Track and Global Privacy Control are respected.