The web.
Ready to build.

Scrape pages, search the web and crawl sites. Get clean content and its sources through one straightforward API.

One API for reading the web.

Pick the job, send one request, and get content your application can use with the source attached.

One request. A result you can use.

Send a URL and the formats you want. Luni returns the content, the page it came from and the credits it used.

  • Markdown, HTML, links and page metadata
  • The source URL on every result
  • An operation ID you can look up later
Read the quickstart
curl -X POST https://api.luni.gg/v1/scrape \
  -H "Authorization: Bearer $LUNI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-first-page" \
  -d '{"url":"https://example.com","formats":["markdown"]}'
Response
{
  "success": true,
  "data": {
    "markdown": "# Example Domain…",
    "metadata": {
      "title": "Example Domain",
      "sourceURL": "https://example.com",
      "statusCode": 200
    }
  },
  "operationId": "<operation-id>",
  "creditsUsed": 1
}

Pay for results, not attempts.

Credits are reserved before work starts and settled only for results that arrive. Unused credits come straight back.

Successful pages only

Failed fetches, error statuses and detected challenge pages settle zero credits.

Retries never charge twice

Send the same Idempotency-Key again and you get the original result without another charge.

10,000 free credits a month

Free during beta through 31 December 2026. No credit card required.

More ways to work with the web.

Company profiles, with evidence.

Point Luni at a company website. It reads the home page and its about, contact and team pages and returns who the company is and how to reach it.

  • Name, domain and description
  • Published emails and phone numbers, each with its page
  • 40 credits per useful profile. Failed profiles are free
{
  "success": true,
  "status": "completed",
  "creditsUsed": 40,
  "data": [
    {
      "name": "Example Ltd",
      "domain": "example.com",
      "description": "Tools for teams that build with web data.",
      "contacts": [
        {
          "type": "phone",
          "value": "+44 20 7946 0000",
          "sourceURL": "https://example.com/contact",
          "method": "harvested"
        }
      ],
      "sources": [
        "https://example.com",
        "https://example.com/contact"
      ],
      "observedAt": "2026-11-01T09:12:00Z"
    }
  ]
}