Show HN: Superglue – open source API connector that writes its own code (github.com)
If you’re spending a lot of time writing code connecting to weird APIs, fumbling with custom fields in foreign language ERPs, mapping JSONs, extracting data from compressed CSVs sitting on FTP servers, and making sure your integrations don’t break when something unexpected comes through, superglue might be for you.
Here's how it works: You define your desired data schema and provide basic instructions about an API endpoint (like "get all issues from Jira"). superglue then does the following:
- Automatically generates the API configuration by analyzing API docs.
- Handles pagination, authentication, and error retries.
- Transforms response data into the exact schema you want using JSONata expressions.
- Validates that all data coming through follows that schema, and fixes transformations when they break.
We built this after noticing how much of our team's time was spent building and maintaining data integration code. Our approach is a bit different to other solutions out there because we (1) use LLMs to generate mapping code, so you can basically build your own universal API with the exact fields that you need, and (2) validate that what you get is what you’re supposed to get, with the ability to “self-heal” if anything goes wrong.
You can run superglue yourself (https://github.com/superglue-ai/superglue - license is GPL), or you can use our hosted version (https://app.superglue.cloud) and our TS SDK (npm i @superglue/client).
Here’s a quick demo: https://www.youtube.com/watch?v=A1gv6P-fas4 You can also try out Jira and Shopify demos on our website (https://superglue.cloud)
Excited to share superglue with everyone here—it's early so you'll probably find bugs, but we'd love to get your thoughts and see if others find this approach useful!
48 comments
[ 3.4 ms ] story [ 117 ms ] threadThe problem with a lot (most?) integration work is that often there simply aren't any API docs - or the docs are outdated/obsolete (because they were written by-hand in an MS Word doc and never kept up-to-date) - or sometimes there isn't an API in the first place (c.f. screen-scraping, but also exfiltration via other means). Are these scenarios you expect or hope to accommodate?
No api at all is out of scope for now, there are other tools that are better suited for that.
I guess you could regularly run the api just to make sure the mapping is still up to date and there are no delays when you actually need the data, depending on how often the api changes.
[0] https://docs.supaglue.com/
Curious - why did you decide to open source? It's neat to see a lot new YC open source companies. I'm curious why you thought open-sourcing superglue was strategically advantageous
[0] https://github.com/alufers/mitmproxy2swagger
That being said, the mitmproxy2swagger approach is really really cool as an alternative to mindless scraping.
What's the route to doing this automatically? Is there some tool for doing this?
Re: open source, what's your general attitude/commitment towards the community? Is it more like SQLite (no contributions accepted), or more like Rust (let's get everyone involved)?
On your open source question, we accept contributions from non-team-members and have done so in the past, particularly on bugs or new features on the backend.