@messari/sdk
TypeScript icon, indicating that this package has built-in type declarations

0.0.10 • Public • Published

Messari SDK

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.

Features

  • 🔒 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

Installation

# Using pnpm
pnpm add @messari/sdk

Authorization

To use the SDK, you'll need a Messari API key. See our docs for more information.

API Services

Service Endpoint Route
AI Chat Completion /ai/v1/chat/completions
AI Entity Extraction /ai/v1/classification/extraction

Example Usage

For full examples, see the Example Docs or the Examples Repo.

AI Service

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"
// }

Package Sidebar

Install

npm i @messari/sdk

Weekly Downloads

29

Version

0.0.10

License

MIT

Unpacked Size

361 kB

Total Files

39

Last publish

Collaborators

  • cbovis.messari
  • iplug
  • diranl
  • bijan-messari
  • lord_of_nork
  • mikiostewartmessari
  • danielkhoo
  • albert-messari
  • ncentola
  • stevegcarpenter
  • tech-at-messari