# Develop with Dapr APIs

Dapr exposes reusable building blocks — service invocation, state management, pub/sub messaging, jobs, secrets, and more — through language SDKs and an HTTP/gRPC API. On [Diagrid Catalyst](https://docs.diagrid.io/operate), these APIs are backed by managed components, so your code can swap state stores or message brokers through configuration rather than code changes.

Pick your language below to see SDK-specific guides. If you're new to Dapr's building blocks, the [Dapr API quickstarts](https://docs.diagrid.io/getting-started/quickstarts/dapr-apis) walk through service invocation, state, and pub/sub in under 15 minutes each.

**Dapr & AI University — Learn this hands-on:** [Dapr 101: State Management, Service Invocation, and Pub/Sub APIs](https://www.diagrid.io/university/dapr-101?utm_source=docs&utm_medium=cta&utm_campaign=dapr-101)

Learn Dapr's core building blocks — state management, service invocation, and pub/sub — through hands-on coding.

Beginner · 45 min · .NET, Python, Java, JavaScript

## Dapr API SDKs

- [.NET SDK](https://docs.diagrid.io/develop/dapr-apis/dotnet-sdk) — Call Dapr building blocks from C# with ASP.NET Core integration.
- [Go SDK](https://docs.diagrid.io/develop/dapr-apis/go-sdk) — Use state, pub/sub, and service invocation from Go applications.
- [Java SDK](https://docs.diagrid.io/develop/dapr-apis/java-sdk) — Client SDK for invoking Dapr APIs from Java services.
- [JavaScript SDK](https://docs.diagrid.io/develop/dapr-apis/javascript-sdk) — Call Dapr building blocks from Node.js and TypeScript apps.
- [Python SDK](https://docs.diagrid.io/develop/dapr-apis/python-sdk) — Use state, pub/sub, and service invocation from Python apps.
