superglue translates data from external systems into exactly the format you need. Itโs an open source proxy that automatically extracts, maps and transforms data so developers donโt have to write and maintain complex integration code.
- ๐ฎ One-off LLM-powered translations: Generate deterministic, high-performance translation code.
- ๐ฉน Self-healing: Detect format changes and update translations automatically.
- ๐ Fast deployment: Supports most APIs and data formats out of the box.
flowchart LR subgraph Input[data sources] A1[APIs] A2[files] A3[legacy systems] end subgraph Process[data transformation] T1[superglue engine] end subgraph Output[destination] D1[your system] end Input --> Process Process --> Output %% Styling classDef sourceStyle fill:#f9f,stroke:#333,stroke-width:2px classDef processStyle fill:#bbf,stroke:#333,stroke-width:2px classDef outputStyle fill:#bfb,stroke:#333,stroke-width:2px class Input sourceStyle class Process processStyle class Output outputStyle -
Sign up for early access to the hosted version of superglue at superglue.cloud
-
Install the superglue js/ts client:
npm install @superglue/client- Configure your first api call:
import { SuperglueClient } from "@superglue/client"; const superglue = new SuperglueClient({ apiKey: "************" }); const config = { urlHost: "https://futuramaapi.com", urlPath: "/graphql", instruction: "get all characters from the show", responseSchema: { type: "object", properties: { characters: { type: "array", items: { type: "object", properties: { name: { type: "string" }, species: { type: "string", description: "lowercased" } } } } } } }; const result = await superglue.call({endpoint: config}); console.log(JSON.stringify(result.data, null, 2)); /* output: { "characters": [ { "name": "Phillip J. Fry", "species": "human" }, ... ] } */Run your own instance of superglue using Docker:
- Pull the Docker image:
docker pull superglueai/superglue- Create a
.envfile with the following configuration:
# Server Configuration # Port to run the superglue server GRAPHQL_PORT=3000 # Port to run the web dashboard WEB_PORT=3001 # Endpoint the web interface will connect to GRAPHQL_ENDPOINT=http://localhost:3000 # Authentication token for API access AUTH_TOKEN=your-auth-token # Datastore Configuration. Memory is faster but not persistent. Redis is slower but persistent. DATASTORE_TYPE=redis or memory # if redis REDIS_HOST=localhost REDIS_PORT=6379 REDIS_USERNAME=default REDIS_PASSWORD=secret # OpenAI Configuration OPENAI_API_KEY=sk-... # OpenAI model to use. We recommend gpt-4o-2024-11-20 OPENAI_MODEL=gpt-4o-2024-11-20- Start the server:
docker run -d \ --name superglue \ --env-file .env \ -p 3000:3000 \ -p 3001:3001 \ superglueai/superglue- Verify the installation:
curl http://localhost:3000/health > OK # or open http://localhost:3000/?token=your-auth-token- Open the dashboard to create your first configuration:
http://localhost:3001/- run your first call:
npm install @superglue/clientimport { SuperglueClient } from "@superglue/client"; const superglue = new SuperglueClient({ endpoint: "http://localhost:3000", apiKey: "your-auth-token" }); // either via config object const config = { urlHost: "https://futuramaapi.com", urlPath: "/graphql", instruction: "get all characters from the show", }; const result = await superglue.call({endpoint: config}); // or via the api id if you have already created the endpoint const result2 = await superglue.call({id: "futurama-api"}); console.log(JSON.stringify(result.data, null, 2));- LLM-Powered Data Mapping: Automatically generate data transformations using large language models
- API Proxy: Intercept and transform API responses in real-time with minimal added latency
- File Processing: Handle various file formats (CSV, JSON, XML) with automatic decompression
- Schema Validation: Ensure data compliance with your specified schemas
- Flexible Authentication: Support for various auth methods including header auth, api keys, oauth, and more
- Smart Pagination: Handle different pagination styles automatically
- Caching & Retry Logic: Built-in caching and configurable retry strategies
For detailed documentation, visit docs.superglue.cloud.
We love contributions! Feel free to open issues for bugs or feature requests.
superglue is GPL licensed. The superglue client SDKs are MIT licensed. See LICENSE for details.
- ๐ฌ Discord: Join our community
- ๐ Issues: GitHub Issues
