Build with Luni.

From your first URL to a repeatable data workflow.

Create a workspace key, send a public URL and read the returned content. These docs cover HTTP requests, Studio, monitors and hosted MCP. Request examples are copyable; responses below them show the shape to expect, with placeholder values where needed.

Keep your key in a server environment variable named LUNI_API_KEY. Send API calls to https://api.luni.gg.

curl -X POST https://api.luni.gg/v1/scrape \
  -H "Authorization: Bearer $LUNI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-page" \
  -d '{"url":"https://example.com","formats":["markdown"]}'
Response
{
  "success": true,
  "data": {
    "markdown": "# Example Domain\n…",
    "metadata": {
      "sourceURL": "https://example.com",
      "title": "Example Domain"
    }
  },
  "operationId": "<operation-id>",
  "creditsUsed": 1
}

Read data.markdown for content, data.metadata.sourceURL for its source and operationId for later inspection. Check the HTTP status before treating a response as a successful result.