API Documentation

Complete reference for the Lynk API Platform. Base URL: https://api.lynk.run

Code examples show the placeholder YOUR_API_KEY. Log in to use your real key here.

Authentication

Authenticate your requests using your API key. You can pass it in two ways:

Option 1: Bearer Token (recommended)

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lynk.run/bgp/v1/asn/34309

Option 2: URL Parameter

bash
curl "https://api.lynk.run/bgp/v1/asn/34309?key=YOUR_API_KEY"

Public Access

You can also make unauthenticated requests using the public key openusage, limited to 5 requests per day per IP address.

bash
curl "https://api.lynk.run/bgp/v1/asn/34309?key=openusage"
MCP ServerOAuth 2.1

Connect Claude Desktop, Cursor, Cline, or any MCP-compatible client to Lynk via OAuth 2.1 with PKCE. Your IDE agent can then call the Intel, BGP, Scrape, and Files APIs as native tools β€” no API key in config files.

Server URL

https://api.lynk.run/mcp

Streamable HTTP transport. On first launch your client opens a browser tab to sign in and approve the requested scopes.

Available scopes

  • intel β€” IP & domain lookups
  • bgp β€” company β†’ ASNs + IP prefixes
  • domains β€” domain availability checker
  • search β€” Google web-search results (JSON or Markdown)
  • scrape β€” web pages, crawls, LLM extract
  • files β€” manage your shared files
  • request β€” generic Lynk-API escape hatch
  • deskpro β€” tickets, people, KB across your Deskpro instances
  • netsuite β€” read-only SuiteQL + record lookups + File Cabinet downloads (vendor-bill PDFs) on your NetSuite accounts
  • salesforce β€” read-only SOQL/SOSL queries against your Salesforce orgs
  • tech β€” BuiltWith-backed tech-stack lookup, sites-using-a-tech, adoption trends
  • crm β€” contacts, companies, activities, templates, draft campaigns
  • geo β€” GEO Tracker projects + AI-search visibility reports
  • personio β€” read-only HR + recruiting on your Personio tenants (sensitive fields redacted)
  • canvas β€” publish + manage hosted HTML/Markdown pages and their KV store
  • browser β€” Cloud Browser: drive a server-side browser (navigate, click, type, screenshot, read pages); watch live + take over for logins/2FA
  • gmail β€” read, search, send & organise email in your connected Gmail accounts
  • wordpress β€” read & write posts, pages & media on connected WordPress sites

Setup wizard & client management

Copy-paste configs for Claude Desktop / Cursor / Cline and revoke buttons for any authorized client live at /settings/mcp.

For AI agents

Spec + tool catalog: https://api.lynk.run/mcp/llms.txt

BGP ASN Lookup API1 token

Look up BGP routing data for any ASN. Returns upstreams, peers, customers with IPv4/IPv6 breakdown, powered by CAIDA data.

Endpoint

GET /bgp/v1/asn/:asn

Parameters

ParameterTypeDescription
asnintegerThe Autonomous System Number to look up (1-4294967295)

Example Request

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lynk.run/bgp/v1/asn/34309

Example Response

json
{
  "asn": 34309,
  "name": "LINK11",
  "description": "Link11 GmbH",
  "country": "DE",
  "upstreams": {
    "ipv4": [
      { "asn": 1299, "name": "TWELVE99", "description": "Arelion Sweden AB" },
      { "asn": 174, "name": "COGENT-174", "description": "Cogent Communications" }
    ],
    "ipv6": [
      { "asn": 6939, "name": "HURRICANE", "description": "Hurricane Electric LLC" }
    ]
  },
  "peers": { "ipv4": [...], "ipv6": [...] },
  "customers": { "ipv4": [...], "ipv6": [...] },
  "upstream_count": { "ipv4": 4, "ipv6": 4 },
  "peer_count": { "ipv4": 67, "ipv6": 67 },
  "customer_count": { "ipv4": 56, "ipv6": 56 },
  "queried_at": "2026-03-30T10:00:00Z",
  "source": "CAIDA AS Relationships",
  "provider": "local-caida"
}
IP & Domain Intelligence APIAuth Required

Comprehensive IP and domain intelligence. Aggregates 15+ data sources: geo-location (7 providers), ASN, privacy detection, 73 DNSBL blacklists, WHOIS, SSL certificates, DNS records, and mail provider detection.

Endpoints

GET /ip/v1/lookup/:targetGET /ip/v1/lookup/me

Parameters

ParameterTypeDescription
targetstringIPv4/IPv6 address or domain name (or me for own IP)
modestringlite (~10-50ms, local MMDB only) or full (~1-5s, all sources incl. DNSBL, WHOIS, SSL). Default: full

Example: IP Lookup

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.lynk.run/ip/v1/lookup/8.8.8.8"

Example: Domain Lookup

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.lynk.run/ip/v1/lookup/github.com"

Example Response (IP)

json
{
  "query": "8.8.8.8",
  "type": "ip",
  "ip": "8.8.8.8",
  "ip_version": "IPv4",
  "bogon": false,
  "rdns": "dns.google",
  "sources": {
    "provider_a": {
      "geo": { "city": null, "country": "US", "country_name": "United States" },
      "network": { "asn": 15169, "org": "GOOGLE", "network": "8.8.8.0/24" }
    },
    "provider_b": { "..." : "..." },
    "provider_c": { "..." : "..." }
  },
  "privacy": {
    "vpn": false, "proxy": false, "tor": false,
    "hosting": true, "cloud_provider": "GCP"
  },
  "risk": {
    "ip_blacklisted": false,
    "ip_blacklist_count": 0,
    "ip_blacklists": []
  }
}

Example Response (Domain)

json
{
  "query": "github.com",
  "type": "domain",
  "ip": "140.82.121.3",
  "resolved_ips": { "a": ["140.82.121.3"], "aaaa": [] },
  "dns": { "mx": [...], "ns": [...], "txt": [...] },
  "mail": { "provider": "Google Workspace", "mx_records": [...] },
  "whois": { "registrar": "MarkMonitor", "created": "2007-10-09" },
  "ssl": { "issuer": "DigiCert", "days_remaining": 215, "sans": [...] },
  "risk": {
    "ip_blacklisted": false,
    "domain_blacklisted": false,
    "mx_blacklisted": false
  }
}

Rate Limits

30 lookups per minute per IP.

Use with Claude.aiSkill

Drop the lynk-domain-intel Skill into Claude.ai and it will use this API automatically β€” single lookups (β€œwho registered example.com?”) and bulk (β€œgive me the registrar + mail provider for these 20 domains”) both work out of the box.

Download Skill

Skill ships without an API key (public rate limit applies). Log in to bake your key in. Install: claude.ai β†’ Settings β†’ Capabilities β†’ Skills β†’ Upload skill.

Tech Scanner API5 tokens / lookup

BuiltWith-backed tech-stack lookup. Three endpoints under /tech/v1/*: lookup (domain β†’ stack), sites (sites using a given tech, paginated), trends (adoption coverage). Heavily cached (30d / 7d / 24h) so repeated lookups stay affordable. Playground at /tech.

GET β€” single domain

curl 'https://api.lynk.run/tech/v1/lookup/shopify.com' \
-H 'Authorization: Bearer YOUR_API_KEY'

POST β€” batch (max 50 domains)

curl https://api.lynk.run/tech/v1/lookup \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "domains": ["shopify.com", "stripe.com", "vercel.com"] }'

Sites using a Technology

curl 'https://api.lynk.run/tech/v1/sites/Shopify?pages=2' \
-H 'Authorization: Bearer YOUR_API_KEY'

Each page is one billable unit (10 tokens). pages auto-fetches multiple BuiltWith Lists pages in one request (max 5). The response carries every site stitched together plus next_offset for further pagination.

Adoption Trends (cheapest tier)

curl 'https://api.lynk.run/tech/v1/trends/WordPress' \
-H 'Authorization: Bearer YOUR_API_KEY'

Returns BuiltWith's coverage stats (top 10k / 100k / 1M / all live / dropped). 1 token per call β€” BuiltWith's Trends endpoint is free upstream.

Pricing

EndpointCostCache TTL
/tech/v1/lookup5 tokens / domain30 days
/tech/v1/sites10 tokens / page7 days
/tech/v1/trends1 token / call24 hours

Defaults & limits

  • Max 50 domains per /lookup request, max 5 pages per /sites request
  • Unauthenticated: 20 / minute / IP
  • Pass format=markdown on any endpoint for an LLM-friendly rendered document
  • found: false in a lookup means BuiltWith has no record β€” not every domain has been crawled
  • Without a configured admin BuiltWith key, every endpoint returns 503
  • Cache hits cost the same as live calls β€” the cache is internal margin, not a user discount
πŸ“ˆGEO TrackerDashboard + MCP

Tracke wie deine Marke in AI-Suchmaschinen (ChatGPT, Claude, Gemini, Perplexity, Google AI Overview) erscheint β€” der AI-Search-Pendant zum klassischen SEO-Rank-Tracking. Statt "Platz 1 bei Google" misst GEO Mention-Rate, Citation-Share und Share-of-Voice vs. Wettbewerber ΓΌber Zeit.

Workflow:

  1. Domain eingeben β†’ wir crawlen bis zu 20 Seiten und lassen Claude Sonnet ~30 realistische User-Anfragen vorschlagen
  2. Brand-Aliases, Konkurrenten, Prompt-Set und Modell-Auswahl editieren
  3. Manuell laufen lassen oder Cron (tΓ€glich / wΓΆchentlich / monatlich) aktivieren
  4. Reports: Mention-Rate-Zeitreihe pro Modell, Share-of-Voice, Top-Citation-Domains

Modelle (Standard-Set, in Projekt-Einstellungen erweiterbar mit jedem OpenRouter-Modell):

  • GPT-4o Β· Claude Sonnet 4 Β· Gemini 2.5 Pro Β· Perplexity Sonar (via OpenRouter β€” liefert Citations)
  • serper/ai-overview β€” Google AI Overview (via Serper-SERP-API)

Pricing: 1 Lynk-Token pro 100 API-Calls. Bei 5 Modellen Γ— 30 Prompts Γ— 3 Wiederholungen Γ— 2 Calls (Response + Extractor) = 9 Tokens pro Run. Vor Aktivierung zeigt das UI eine genaue Vorschau in Tokens + USD-SchΓ€tzung.

REST-Endpoints (alle hinter Dashboard-Auth):

  • GET /api/geo/projects Β· POST /api/geo/projects Β· PATCH/DELETE /api/geo/projects/:id
  • POST /api/geo/discover Β· GET /api/geo/models
  • GET /api/geo/projects/:id/prompts Β· POST .../prompts Β· PATCH /api/geo/prompts/:id
  • POST /api/geo/projects/:id/run Β· GET /api/geo/runs/:id Β· GET .../runs
  • GET /api/geo/projects/:id/report Β· /competitors Β· /citations
  • GET /api/geo/prompts/:id/responses?run_id=

MCP-Scope geo (4 Tools):

  • geo_list_projects β€” alle eigenen Projekte mit KPIs
  • geo_list_prompts β€” Prompts eines Projekts
  • geo_get_project_report β€” Mention-Rate + Share-of-Voice + Top-Citations in einem Aufruf
  • geo_run_project β€” manuellen Run triggern (PAYG-billed)

AI-Agents kΓΆnnen beobachten + triggern, aber NICHT konfigurieren β€” Projekte/Prompts/Cron sind Dashboard-only.

File Sharing APIAuth Required

Upload files (up to 500 MB), get shareable download links, and optionally protect them with a password or send the link via email. Download links are public and don't require authentication.

Upload a File

POST /api/files

Form Fields (multipart/form-data)

FieldTypeRequiredDescription
filefileYesThe file to upload (max 500 MB)
passwordstringNoPassword to protect the download link
emailstringNoEmail address to send the download link to
expires_in_daysstringNoNumber of days until expiry, or "evergreen" for permanent (default: evergreen)

Example: Upload with curl

bash
curl -X POST https://api.lynk.run/api/files \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@report.pdf" \
  -F "password=secret123" \
  -F "email=recipient@example.com" \
  -F "expires_in_days=30"

Response

json
{
  "success": true,
  "id": "a1b2c3d4e5f6...",
  "url": "https://lynk.run/dl/a1b2c3d4e5f6..."
}

List Your Files

GET /api/files

Example

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lynk.run/api/files

Response

json
[
  {
    "id": "a1b2c3d4e5f6...",
    "original_name": "report.pdf",
    "size": 2457600,
    "mime_type": "application/pdf",
    "has_password": true,
    "download_count": 5,
    "created_at": "2026-03-22 10:30:00",
    "expires_at": "2026-04-21 10:30:00",
    "download_url": "https://lynk.run/dl/a1b2c3d4e5f6..."
  }
]

Delete a File

DELETE /api/files/:id

Example

bash
curl -X DELETE -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lynk.run/api/files/a1b2c3d4e5f6...

Download (Public)

GET https://lynk.run/dl/:id

Download links are public β€” no API key required. If the file is password-protected, a password form is shown in the browser. For programmatic access, POST the password:

bash
# Password-protected download via curl
curl -X POST https://lynk.run/dl/a1b2c3d4e5f6... \
  -d "password=secret123" \
  -o report.pdf
CRM & OutreachDashboard + MCP

A light CRM with contacts, companies, mail-merge campaigns (with one automatic follow-up) and a Tinder-style daily call list. Manage it in the CRM dashboard β€” invite other Lynk users to collaborate on a shared workspace.

Outbound email is sent through your own Resend key or SMTP server (or opened in your own mail client), never through Lynk's domain.

The crm MCP scope lets an AI agent research prospects and populate contacts, companies, templates and draft campaigns β€” sending always stays a manual action in the dashboard. See the MCP tool reference.

Rate Limits & Error Codes
EndpointRate LimitAuth Required
/bgp/v1/asn/:asn5/day (public) or unlimited (API key)Optional
/bgp/v1/company/search10/min per IPNo
/bgp/v1/search30/min per IPNo
/ip/v1/lookup/:target30/min per IPYes
/api/filesStandardYes

Error Codes

CodeDescription
200Success
401Invalid or missing API key
402Insufficient tokens
404Resource not found (e.g. unknown ASN)
429Rate limit exceeded

⚑ Lynk β€” A Link11 Initiative