ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Tutorials
  3. How to Add a Citation Layer to LinkedIn Outreach Messages
Tutorial

How to Add a Citation Layer to LinkedIn Outreach Messages

Enrich LinkedIn outreach with real citations from search data. Reference specific articles, news, or company updates in your messages.

Get Free API KeyAPI Docs

An r/micro_saas post showed that generic LinkedIn outreach gets ignored. The fix: reference something specific about the prospect's company -- a recent article, a product launch, a hiring post. This tutorial builds a citation layer that enriches outreach messages with real, verifiable references from search data.

Prerequisites

  • Scavio API key
  • Python 3.8+
  • List of prospect companies or people

Walkthrough

Step 1: Research the prospect's company

Search for recent news and mentions.

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def research_company(company_name):
    news = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H,
        json={'platform': 'google', 'query': f'{company_name} news 2026'}).json()
    reddit = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H,
        json={'platform': 'reddit', 'query': company_name}).json()
    return {
        'news': news.get('organic_results', [])[:3],
        'reddit': reddit.get('results', [])[:3]
    }

Step 2: Extract citation-worthy details

Find specific, referenceable facts.

Python
def extract_citations(research):
    citations = []
    for article in research['news']:
        title = article.get('title', '')
        link = article.get('link', '')
        if any(kw in title.lower() for kw in ['launch', 'raise', 'announce', 'hire', 'expand', 'partner']):
            citations.append({'type': 'news', 'title': title, 'url': link})
    for post in research['reddit']:
        if post.get('upvotes', 0) > 20:
            citations.append({'type': 'reddit', 'title': post.get('title', ''), 'url': post.get('url', '')})
    return citations

Step 3: Generate personalized message with citations

Weave the citation into a natural outreach message.

Python
def personalized_message(prospect_name, company, citations, your_offer):
    if not citations:
        return None  # Skip if no good citations found
    cite = citations[0]
    return (f'Hi {prospect_name},\n\n'
            f'I saw {company} was mentioned in "{cite["title"]}" -- '
            f'congrats on the momentum.\n\n'
            f'I work on {your_offer} and thought it might be relevant '
            f'given what you are building. Worth a quick look?\n\n'
            f'Reference: {cite["url"]}')

Step 4: Batch process a prospect list

Enrich an entire outreach list with citations.

Python
import csv

def enrich_outreach_list(input_csv, output_csv, your_offer):
    with open(input_csv) as fin, open(output_csv, 'w', newline='') as fout:
        reader = csv.DictReader(fin)
        writer = csv.DictWriter(fout, fieldnames=['name', 'company', 'message', 'citation_url'])
        writer.writeheader()
        for row in reader:
            research = research_company(row['company'])
            citations = extract_citations(research)
            msg = personalized_message(row['name'], row['company'], citations, your_offer)
            if msg:
                writer.writerow({'name': row['name'], 'company': row['company'],
                    'message': msg, 'citation_url': citations[0]['url']})

Python Example

Python
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def cite_enrich(company):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{company} news 2026'}).json()
    for r in data.get('organic_results', [])[:3]:
        print(f"Citation: {r['title']}\n  URL: {r['link']}")

cite_enrich('Stripe')

JavaScript Example

JavaScript
const res = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST',
  headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
  body: JSON.stringify({platform: 'google', query: `${company} news 2026`})
});
const data = await res.json();
const citation = data.organic_results?.[0];

Expected Output

JSON
Enriched outreach CSV with personalized messages containing real citations. 2 queries per prospect (Google + Reddit) = $0.01/prospect.

Related Tutorials

  • How to Enrich LinkedIn Reply Context with Search Data
  • How to Build Auto-Generated Demo Sites for Leads

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Scavio API key. Python 3.8+. List of prospect companies or people. A Scavio API key gives you 50 free credits on signup.

Yes. The free tier includes 50 credits on signup, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Related Resources

Best Of

Best LinkedIn Enrichment APIs for Data-Backed Outreach (2026)

Read more
Use Case

Citation-Based LinkedIn Outreach Agent

Read more
Use Case

One-Page Audit Cold Email Outreach

Read more
Best Of

Best Citation-Backed Outreach Tools for LinkedIn (2026)

Read more
Glossary

Citation-Backed Outreach

Read more
Solution

LinkedIn Citation Enrichment for Replies

Read more

Start Building

Enrich LinkedIn outreach with real citations from search data. Reference specific articles, news, or company updates in your messages.

Get Free API KeyRead the Docs
ScavioScavio

Real-time search API for AI agents. Search every platform, not just Google.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative

Tools

  • JSON Formatter
  • cURL to Code
  • Token Counter
  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy