Complete reference for the Lynk API Platform. Base URL: https://api.lynk.run
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"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.
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.pdf| 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 |