Messari Typescript SDK is a convenient way to interact with Messari's APIs. It provides a type-safe, intuitive interface for accessing Messari's suite of crypto data and AI services.
- 🔒 Type-safe: Full TypeScript support with automatically generated types from OpenAPI specs
- 🚀 Modern: Built with modern TypeScript features and best practices
- 📚 Well-documented: Comprehensive documentation and examples
- 🔄 Auto-generated: API types and operations are automatically generated from OpenAPI specifications
- 🛠 Developer-friendly: Intuitive API design with built-in error handling
# Using pnpm
pnpm add @messari/sdk
To use the SDK, you'll need a Messari API key. See our docs for more information.
Service | Endpoint | Route |
---|---|---|
AI | Chat Completion | /ai/v1/chat/completions |
AI | Entity Extraction | /ai/v1/classification/extraction |
For full examples, see the Example Docs or the Examples Repo.
import { MessariClient } from '@messari/sdk';
// Initialize the client
const client = new MessariClient({ apiKey: 'your-api-key' });
// Use the AI service
const response = await client.ai.createChatCompletion({
messages: [
{
role: "user",
content: "What companies have both paradigm and a16z on their cap table?",
},
],
});
const assistantMessage = response.messages[0].content;
console.log(assistantMessage);
// The following companies have both Paradigm and a16z on their cap table:
// 1. OpenSea
// 2. Optimism
// 3. Phantom Wallet
// 4. Farcaster
// 5. Uniswap
// ...
// Extract entities from text
const entitiesResp = await client.ai.extractEntities({
content: "Ethereum founder Vitalik Buterin announced...",
entityTypes: ["person", "project"],
});
for (const entity of entitiesResp.extractedEntities) {
if (entity.selectedEntity) {
console.log(JSON.stringify(entity.selectedEntity, null, 2));
}
}
// {
// "name": "Ethereum",
// "details": [
// {
// "id": "263d8b01-5a96-41f0-85d5-09687bbbf7ca",
// "type": "PROJECT"
// }
// ],
// "confidenceScore": "HIGH",
// "relevanceScore": "HIGH"
// }
// {
// "name": "Vitalik Buterin",
// "details": [
// {
// "id": "77b6685d-fafa-4be2-8e79-563c438a880a",
// "type": "PERSON"
// }
// ],
// "confidenceScore": "HIGH",
// "relevanceScore": "HIGH"
// }