Back to Use Cases
Linkup

How to research suppliers with Linkup

Automate supplier discovery, price extraction, and due diligence research. Find suppliers, scrape product listings for pricing, and gather compliance data across multiple sources.

Overview

Procurement teams spend significant time researching suppliers, comparing quotes, validating vendors, and monitoring supply chain risks. Linkup's agentic search can automate much of this work—finding suppliers, scraping product listings for pricing, and gathering due diligence data across multiple sources.

Why Linkup for procurement?

Deep search

Execute "find → scrape → extract" pattern for actual prices and specs

structuredOutput

Returns supplier data ready for comparison spreadsheets

Agentic retrieval

Navigates supplier websites, marketplaces, and databases automatically

Configuration

Recommended settings for procurement research

ParameterValueWhy
depthdeepFinding listings, then scraping pages for prices and specs
outputTypestructuredOutputReturns data ready for comparison and system import
includeDomainsoptionalRestrict to approved supplier directories or marketplaces

Use Cases

Practical examples with prompts and schemas

1

Supplier Discovery

Find potential suppliers for a specific material, component, or service. Check across your list of providers as well.

Prompt- supplier-discovery
You are a procurement specialist tasked with identifying suppliers for a specific item.

Item: {item_description}
Specifications: {specifications}
Region preference: {region}

Execute the following steps:

1. Search for manufacturers and distributors that supply {item_description} matching these specifications.

2. For each potential supplier found, search for:
   - Company website
   - Product catalog or listing page for this item
   - Geographic coverage / shipping regions
   - Whether they sell B2B or require minimum order quantities

3. Search industrial marketplaces (ThomasNet, Alibaba, GlobalSpec, DirectIndustry) for additional suppliers of {item_description}.

Return a list of qualified suppliers with their details. Exclude retailers and consumer-focused sellers.
2

Price Extraction & Comparison

Get actual pricing from supplier listings—not just links, but scraped prices from product pages.

Prompt- price-extraction
You are a procurement specialist tasked with sourcing a specific item and extracting pricing.

Item: {item_description}
Part number (if known): {part_number}
Required quantity: {quantity}

Execute the following steps:

1. Search reputable online suppliers and industrial marketplaces to find listings for this item: {item_description}

2. For each relevant listing URL found, open and scrape the listing page to extract:
   - Exact product name and part number
   - Listed price (include currency and unit)
   - Minimum order quantity
   - Lead time or availability
   - Product image URL

3. If a supplier shows "request quote" instead of a price, note this but still include the listing.

Instructions:
- Only include listings that match the specified part number or a clearly documented equivalent.
- Always scrape the listing page—do not infer price from search snippets.
- If pricing is tiered, extract the price for {quantity} units.
- If no image is available, return null for image_url.
3

Supplier Due Diligence

Gather risk and compliance data before onboarding a new supplier.

Prompt- supplier-due-diligence
You are a procurement risk analyst conducting due diligence on a potential supplier.

Supplier: {supplier_name}
Website: {supplier_domain}
Country: {country}

Research steps:

1. Scrape {supplier_domain} for company overview, history, manufacturing locations, quality certifications (ISO, FDA, CE, etc.), and notable clients or case studies.

2. Search for {supplier_name} registration details: legal entity name, registration number, year established, registered address.

3. Search for {supplier_name} news from the past 2 years:
   - Negative: recalls, quality issues, regulatory actions, financial difficulties, layoffs
   - Positive: awards, expansions, major contracts

4. Search for {supplier_name} reviews or complaints on B2B platforms and industry forums.

5. Search for ESG, sustainability, or labor practice concerns related to {supplier_name}.

Compile findings into a risk assessment summary. Flag any red flags found.
4

Alternative Supplier Search

Find alternatives when a current supplier has issues or you need to diversify.

Prompt- alternative-suppliers
You are a procurement specialist finding alternative suppliers to reduce supply chain risk.

Current supplier: {current_supplier}
Product/service they provide: {product_description}
Reason for seeking alternatives: {reason}

Execute the following steps:

1. First, scrape {current_supplier_website} to understand exactly what product/specs we're currently sourcing.

2. Search for other suppliers that manufacture or distribute the same or equivalent products. Focus on:
   - Direct competitors to {current_supplier}
   - Suppliers in different geographic regions for supply chain diversification
   - Both manufacturers and authorized distributors

3. For each alternative found, search for:
   - Their product equivalent to what we source from {current_supplier}
   - Company size and stability indicators
   - Geographic location and shipping capabilities
   - Any certifications matching {current_supplier}'s certifications

4. Search for industry reports or buyer guides comparing suppliers in this category.

Return a list of alternatives with rationale for each.
5

Market Price Benchmarking

Understand market pricing to negotiate better or validate quotes.

Prompt- price-benchmarking
You are a procurement analyst conducting market price research for negotiation preparation.

Item: {item_description}
Current quoted price: {current_price} per {unit}
Supplier quoting: {supplier_name}

Execute the following research:

1. Search for publicly listed prices for {item_description} across multiple suppliers and marketplaces.

2. For each price found, scrape the listing page to extract:
   - Exact product and specifications
   - Price and unit of measure
   - Minimum order quantity
   - Supplier name and location

3. Search for commodity price indices or industry pricing reports related to {item_category}.

4. Search for recent news about pricing trends, supply shortages, or market conditions affecting {item_description}.

Compile findings to establish a market price range. Note whether the current quote of {current_price} is above, below, or within market range.

Best Practices

Tips for getting the best results

Do's

  • 1Always use deep search with explicit scrape instructions — Prices and specs live on product pages, not in search snippets
  • 2Include part numbers when available — Dramatically improves match accuracy
  • 3Specify "scrape the listing page" — Tells Linkup to actually open the page
  • 4Use includeDomains for trusted sources — Restrict to known marketplaces when quality matters
x

Don'ts

  • 1Don't skip specifications — Vague item descriptions lead to irrelevant results
Pro Tip
For price extraction, always instruct Linkup to scrape the actual listing page rather than inferring prices from search result snippets. This ensures you get accurate, current pricing.

Integration Patterns

How to integrate procurement research into your workflow

RFQ Preparation Workflow

Automated supplier discovery and price comparison

  1. 1.Receive requisition with item specifications
  2. 2.Call Linkup to discover suppliers and extract pricing
  3. 3.Generate comparison matrix from structuredOutput
  4. 4.Identify top candidates for RFQ distribution
  5. 5.Use benchmark pricing data in negotiations

Supplier Onboarding Automation

Automated due diligence for new suppliers

  1. 1.New supplier submitted for approval
  2. 2.Trigger Linkup due diligence search automatically
  3. 3.Parse risk signals from structuredOutput
  4. 4.Route to appropriate approval workflow based on risk level
  5. 5.Store research in supplier master record

Continuous Monitoring

Ongoing supplier risk monitoring

  1. 1.Schedule periodic searches for existing supplier news
  2. 2.Use fromDate filter to catch only new information
  3. 3.Alert procurement team to risk signals (recalls, financial issues)
  4. 4.Trigger re-evaluation workflow when red flags appear

Sample Code

Python examples for procurement research

procurement_research.py
import requests
import json
from datetime import datetime, timedelta

def extract_supplier_pricing(
    item_description: str,
    part_number: str,
    quantity: int,
    api_key: str
) -> dict:
    """
    Find suppliers and extract actual pricing from product pages
    """

    prompt = f"""
    You are a procurement specialist sourcing a specific item.

    Item: {item_description}
    Part number: {part_number}
    Quantity needed: {quantity}

    1. Search reputable suppliers and industrial marketplaces for this item.

    2. For each listing found, open and scrape the page to extract:
       - Product name and part number
       - Price (currency and unit)
       - Minimum order quantity
       - Lead time
       - Product image URL

    Always scrape listing pages—do not infer prices from search snippets.
    Only include listings matching the part number or documented equivalents.
    """

    schema = {
        "type": "object",
        "properties": {
            "item": {"type": "string"},
            "part_number": {"type": "string"},
            "listings": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "supplier": {"type": "string"},
                        "url": {"type": "string"},
                        "product_name": {"type": "string"},
                        "price": {"type": "string"},
                        "currency": {"type": "string"},
                        "moq": {"type": "integer"},
                        "lead_time": {"type": "string"},
                        "image_url": {"type": "string"}
                    }
                }
            }
        }
    }

    response = requests.post(
        "https://api.linkup.so/v1/search",
        headers={"Authorization": f"Bearer {api_key}"},
        json={
            "q": prompt,
            "depth": "deep",
            "outputType": "structuredOutput",
            "structuredOutputSchema": json.dumps(schema)
        }
    )

    return response.json()

def supplier_due_diligence(
    supplier_name: str,
    supplier_domain: str,
    api_key: str
) -> dict:
    """
    Conduct due diligence research on a supplier
    """

    two_years_ago = (datetime.now() - timedelta(days=730)).strftime("%Y-%m-%d")

    prompt = f"""
    You are a procurement risk analyst conducting supplier due diligence.

    Supplier: {supplier_name}
    Website: {supplier_domain}

    1. Scrape {supplier_domain} for company overview, certifications, and clients.

    2. Search for {supplier_name} company registration and legal entity details.

    3. Search for news about {supplier_name} including:
       - Recalls or quality issues
       - Financial difficulties
       - Regulatory actions
       - ESG concerns

    4. Search for {supplier_name} reviews on B2B platforms.

    Flag any red flags discovered.
    """

    schema = {
        "type": "object",
        "properties": {
            "supplier_name": {"type": "string"},
            "legal_entity": {"type": "string"},
            "year_established": {"type": "integer"},
            "certifications": {"type": "array", "items": {"type": "string"}},
            "risk_signals": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "type": {"type": "string"},
                        "description": {"type": "string"},
                        "date": {"type": "string"},
                        "source": {"type": "string"}
                    }
                }
            },
            "positive_signals": {"type": "array", "items": {"type": "string"}},
            "risk_level": {"type": "string"},
            "summary": {"type": "string"}
        }
    }

    response = requests.post(
        "https://api.linkup.so/v1/search",
        headers={"Authorization": f"Bearer {api_key}"},
        json={
            "q": prompt,
            "depth": "deep",
            "outputType": "structured",
            "structuredOutputSchema": json.dumps(schema),
            "fromDate": two_years_ago
        }
    )

    return response.json()
python