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.
Authenticate your requests using your API key. You can pass it in two ways:
Option 1: Bearer Token (recommended)
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.lynk.run/bgp/v1/asn/34309Option 2: URL Parameter
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.
curl "https://api.lynk.run/bgp/v1/asn/34309?key=openusage"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/mcpStreamable HTTP transport. On first launch your client opens a browser tab to sign in and approve the requested scopes.
Available scopes
intel β IP & domain lookupsbgp β company β ASNs + IP prefixesdomains β domain availability checkersearch β Google web-search results (JSON or Markdown)scrape β web pages, crawls, LLM extractfiles β manage your shared filesrequest β generic Lynk-API escape hatchdeskpro β tickets, people, KB across your Deskpro instancesnetsuite β read-only SuiteQL + record lookups + File Cabinet downloads (vendor-bill PDFs) on your NetSuite accountssalesforce β read-only SOQL/SOSL queries against your Salesforce orgstech β BuiltWith-backed tech-stack lookup, sites-using-a-tech, adoption trendscrm β contacts, companies, activities, templates, draft campaignsgeo β GEO Tracker projects + AI-search visibility reportspersonio β read-only HR + recruiting on your Personio tenants (sensitive fields redacted)canvas β publish + manage hosted HTML/Markdown pages and their KV storebrowser β Cloud Browser: drive a server-side browser (navigate, click, type, screenshot, read pages); watch live + take over for logins/2FAgmail β read, search, send & organise email in your connected Gmail accountswordpress β read & write posts, pages & media on connected WordPress sitesSetup 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
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/:asnParameters
| Parameter | Type | Description |
|---|---|---|
| asn | integer | The Autonomous System Number to look up (1-4294967295) |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.lynk.run/bgp/v1/asn/34309Example Response
{
"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"
}Search for a company by name, organization, or domain. Returns all matching ASNs with their IPv4 prefixes, total IP count, and BGP relationship counts (upstreams, peers, customers). No API key required.
Endpoint
GET /bgp/v1/company/search?q=:queryParameters
| Parameter | Type | Description |
|---|---|---|
| q | string | Company name, organization, or domain (min 2 chars) |
| limit | integer | Max results to return (default 10, max 20) |
Example Request
curl "https://api.lynk.run/bgp/v1/company/search?q=Deutsche+Telekom"Example Response
{
"query": "Deutsche Telekom",
"results": [
{
"asn": 3320,
"name": "DTAG",
"org": "Deutsche Telekom AG",
"domain": "telekom.de",
"country": "DE",
"prefixes": [
{ "start": "62.156.0.0", "end": "62.156.255.255", "country": "DE", "size": 65536 }
],
"prefix_count": 847,
"total_ips": 12583424,
"relationships": { "upstreams": 5, "peers": 312, "customers": 1480 }
}
],
"total_asns": 3,
"total_ips": 13107200,
"total_prefixes": 952,
"iptoasn_loaded": true,
"queried_at": "2026-03-30T12:00:00Z"
}Rate Limits
10 requests per minute per IP. No API key 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/meParameters
| Parameter | Type | Description |
|---|---|---|
| target | string | IPv4/IPv6 address or domain name (or me for own IP) |
| mode | string | lite (~10-50ms, local MMDB only) or full (~1-5s, all sources incl. DNSBL, WHOIS, SSL). Default: full |
Example: IP Lookup
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.lynk.run/ip/v1/lookup/8.8.8.8"Example: Domain Lookup
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.lynk.run/ip/v1/lookup/github.com"Example Response (IP)
{
"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)
{
"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.
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.
Google web-search results via serper.dev: organic results plus answer box, knowledge graph, βpeople also askβ and related searches when present. Returns JSON by default, or an LLM-friendly Markdown document when you pass format=markdown β drop the response straight into a prompt. Try the playground at /search.
Pass format=markdown (query string or JSON body) β the response Content-Type is text/markdown and the body is a rendered document with answer box / organic results / PAA / related searches.
numJust tell us how many results you want β we paginate Google internally. Cost is 1 token per 10 results, rounded up. If Google runs out before reaching your num, you only pay for the pages we actually fetched.
| num | tokens (worst case) | note |
|---|---|---|
| 10 (default) | 1 | single Google page |
| 20 | 2 | |
| 50 | 5 | |
| 100 | 10 | |
| 200 (max) | 20 | Google's practical ceiling |
gl=de (country) Β· hl=de (language) Β· num=10num 1β200; over 200 β 400 Bad Requestanswer_box, knowledge_graph, people_also_ask and related_searches are only present when Google returns them{ query, gl, hl, num (returned), requested, fetched_at, organic[], ... }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.
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.
Returns BuiltWith's coverage stats (top 10k / 100k / 1M / all live / dropped). 1 token per call β BuiltWith's Trends endpoint is free upstream.
| Endpoint | Cost | Cache TTL |
|---|---|---|
| /tech/v1/lookup | 5 tokens / domain | 30 days |
| /tech/v1/sites | 10 tokens / page | 7 days |
| /tech/v1/trends | 1 token / call | 24 hours |
/lookup request, max 5 pages per /sites requestformat=markdown on any endpoint for an LLM-friendly rendered documentfound: false in a lookup means BuiltWith has no record β not every domain has been crawledTracke 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:
Modelle (Standard-Set, in Projekt-Einstellungen erweiterbar mit jedem OpenRouter-Modell):
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):
MCP-Scope geo (4 Tools):
geo_list_projects β alle eigenen Projekte mit KPIsgeo_list_prompts β Prompts eines Projektsgeo_get_project_report β Mention-Rate + Share-of-Voice + Top-Citations in einem Aufrufgeo_run_project β manuellen Run triggern (PAYG-billed)AI-Agents kΓΆnnen beobachten + triggern, aber NICHT konfigurieren β Projekte/Prompts/Cron sind Dashboard-only.
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/filesForm Fields (multipart/form-data)
| Field | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | The file to upload (max 500 MB) |
| password | string | No | Password to protect the download link |
| string | No | Email address to send the download link to | |
| expires_in_days | string | No | Number of days until expiry, or "evergreen" for permanent (default: evergreen) |
Example: Upload with curl
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
{
"success": true,
"id": "a1b2c3d4e5f6...",
"url": "https://lynk.run/dl/a1b2c3d4e5f6..."
}List Your Files
GET /api/filesExample
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.lynk.run/api/filesResponse
[
{
"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/:idExample
curl -X DELETE -H "Authorization: Bearer YOUR_API_KEY" \
https://api.lynk.run/api/files/a1b2c3d4e5f6...Download (Public)
GET https://lynk.run/dl/:idDownload 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:
# Password-protected download via curl
curl -X POST https://lynk.run/dl/a1b2c3d4e5f6... \
-d "password=secret123" \
-o report.pdfA 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.
| Endpoint | Rate Limit | Auth Required |
|---|---|---|
| /bgp/v1/asn/:asn | 5/day (public) or unlimited (API key) | Optional |
| /bgp/v1/company/search | 10/min per IP | No |
| /bgp/v1/search | 30/min per IP | No |
| /ip/v1/lookup/:target | 30/min per IP | Yes |
| /api/files | Standard | Yes |
Error Codes
| Code | Description |
|---|---|
| 200 | Success |
| 401 | Invalid or missing API key |
| 402 | Insufficient tokens |
| 404 | Resource not found (e.g. unknown ASN) |
| 429 | Rate limit exceeded |