---
title: "SDKs | Logdash Docs"
description: "Reference for the eight official Logdash SDKs and the HTTP API underneath them. Install, send your first log and your first metric."
url: https://logdash.io/docs/sdks
---

# SDKs

Reference for the eight official SDKs and the HTTP API underneath them. Pick your language, or skip the SDK and post the JSON yourself.

## Official SDKs

Each page covers installation, initialisation, one log, one metric and the questions people actually ask. Every snippet is copied from the SDK README it links back to.

[Node.js](https://logdash.io/docs/sdks/node): npm install @logdash/node

[Python](https://logdash.io/docs/sdks/python): pip install logdash

[Go](https://logdash.io/docs/sdks/go): go get github.com/logdash-io/go-sdk/logdash

[.NET](https://logdash.io/docs/sdks/dotnet): dotnet add package Logdash

[Java](https://logdash.io/docs/sdks/java): implementation 'io.logdash:logdash:0.2.0'

[Rust](https://logdash.io/docs/sdks/rust): cargo add logdash

[Ruby](https://logdash.io/docs/sdks/ruby): gem install logdash

[PHP](https://logdash.io/docs/sdks/php): composer require logdash/php-sdk

## Raw HTTP API

Every SDK is a wrapper around a handful of endpoints. If your language has no SDK, or you just want to prove the pipe works, curl it. Logs and metrics authenticate with your project API key in a `project-api-key` header.

POST /logs 

```
curl -X POST "https://api.logdash.io/logs" \
-H "project-api-key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{"message": "Application started successfully", "level": "info", "createdAt": "2026-09-04T09:41:00.000Z", "sequenceNumber": 0}'
```

PUT /metrics 

```
curl -X PUT "https://api.logdash.io/metrics" \
-H 'project-api-key: <your-api-key>' \
-H 'Content-Type: application/json' \
-d '{"name": "users", "value": 0, "operation": "set"}'
```

Heartbeats are the exception. A push monitor exposes a public endpoint with no key and no body, so the URL is the secret. Call it on a schedule and Logdash marks the monitor down when the calls stop.

POST /ping/<monitorId> 

```
curl -X POST "https://api.logdash.io/ping/<monitorId>"
```

## More

[Self-hosting](https://logdash.io/docs/self-hosting): What runs on your own machine today, and what still stops a production deployment.

[Get started](https://logdash.io/docs): Logging, metrics and monitoring explained, with the plan limits that apply to each.
