Introduction

SynthLink API

SynthLink provides read-only JSON endpoints for documents crawled from public sources and LLM-enriched insights derived from them. All responses are JSON arrays and require an API key in the X-SYNTHLINK-KEY header.

Base URLhttps://synth-link.com

Endpoint
GET

/api/v1/documents

Latest documents from crawlers.

Query Parameters
limitnumberMax records to return. Default: 10
sourcestringFilter by source (e.g. openai_news)
content_sourcestringFilter by content source (e.g. rss)

Try it

cURL

curl -H "X-SYNTHLINK-KEY: sk_live_your_key_here" https://synth-link.com/api/v1/documents?limit=3

fetch (JavaScript)

const res = await fetch("https://synth-link.com/api/v1/documents?limit=3", {
  headers: { "X-SYNTHLINK-KEY": "sk_live_your_key_here" },
});
const data = await res.json();
console.log(data);

Python (requests)

import requests

res = requests.get(
  "https://synth-link.com/api/v1/documents?limit=3",
  headers={"X-SYNTHLINK-KEY": "sk_live_your_key_here"},
  timeout=10,
)
print(res.status_code)
print(res.json())

Response

[
  {
    "id": 1,
    "title": "GPT-4o System Card",
    "url": "https://openai.com/...",
    "summary": "Overview of GPT-4o capabilities...",
    "source": "openai_news",
    "content_source": "rss",
    "created_at": "2026-03-19T06:00:00Z",
    "last_seen_at": "2026-03-19T12:00:00Z"
  }
]
Endpoint
GET

/api/v1/insights

LLM-enriched signals for documents.

Query Parameters
limitnumberMax records to return. Default: 10
statusstringFilter by status: completed | pending | failed

Try it

cURL

curl -H "X-SYNTHLINK-KEY: sk_live_your_key_here" https://synth-link.com/api/v1/insights?limit=3&status=completed

fetch (JavaScript)

const res = await fetch("https://synth-link.com/api/v1/insights?limit=3&status=completed", {
  headers: { "X-SYNTHLINK-KEY": "sk_live_your_key_here" },
});
const data = await res.json();
console.log(data);

Python (requests)

import requests

res = requests.get(
  "https://synth-link.com/api/v1/insights?limit=3&status=completed",
  headers={"X-SYNTHLINK-KEY": "sk_live_your_key_here"},
  timeout=10,
)
print(res.status_code)
print(res.json())

Response

[
  {
    "id": 1,
    "document_id": 1,
    "llm_summary": "GPT-4o introduces multimodal...",
    "keywords": ["gpt-4o", "multimodal", "openai"],
    "tags": ["release", "model"],
    "category": "AI Research",
    "status": "completed",
    "created_at": "2026-03-19T06:01:00Z"
  }
]
Endpoint
GET

/api/v1/combined

Document + insight merged into a single payload.

Query Parameters
limitnumberMax records to return. Default: 10

Try it

cURL

curl -H "X-SYNTHLINK-KEY: sk_live_your_key_here" https://synth-link.com/api/v1/combined?limit=1

fetch (JavaScript)

const res = await fetch("https://synth-link.com/api/v1/combined?limit=1", {
  headers: { "X-SYNTHLINK-KEY": "sk_live_your_key_here" },
});
const data = await res.json();
console.log(data);

Python (requests)

import requests

res = requests.get(
  "https://synth-link.com/api/v1/combined?limit=1",
  headers={"X-SYNTHLINK-KEY": "sk_live_your_key_here"},
  timeout=10,
)
print(res.status_code)
print(res.json())

Response

[
  {
    "document": {
      "id": 1,
      "title": "GPT-4o System Card",
      "url": "https://openai.com/..."
    },
    "insight": {
      "id": 1,
      "category": "AI Research",
      "llm_summary": "GPT-4o introduces multimodal..."
    }
  }
]
Sources

Available Sources

Use the source query parameter to filter by any of the following.

openai_newsOpenAI Newsevery 12hrss
nasa_newsNASA Scienceevery 24hrss
github_trendingGitHub Trendingevery 6hapi
arxivarXiv Papersevery 12hrss
hnHacker Newsevery 3hapi