egze

egze

Looking for a API Client library that deals with calling some endpoint, parsing the data and returning structs. I want to study what are some best practices how to structure them.

What are you favourite API client projects in terms of good architecture?

Showing Posts 1 to 6

pablodavila

pablodavila

You could start by reading the recent discussion about HTTP clients. There’s a few options but they all have different use cases.

I’ve personally used Peppermint mainly because it seemed simple enough and built on a fast client (Mint). It seems like it’s not very popular, so you might want to keep that in mind. I can’t comment much more since my use case was very basic.

egze

egze OP

Thanks. This looks like a HTTP Client. I’m looking for API clients that consume some service, like a Twitter client for example.

pablodavila

pablodavila

More often than not APIs use HTTP as their transport. If you are referring to an SDK (like the ones offered by Stripe, Twilio, etc.) you’d have to find either an official or an unofficial library for the service you want to use. For example, here’s a Twitter client I found after a quick Google search.

If there’s none available you can create your own library. Use any of the HTTP clients to get the data you need and wrap it in a function, maybe add some additional functionality for auth(z)/auth(n) if needed. That’s usually what the SDKs are doing in the background.

Is this what you are looking for? As another example, you can see that Stripe doesn’t offer an official client for Elixir but it can be accessed via curl, which is an HTTP client. (Although there are some unofficial libraries in the case of Stripe)

egze

egze OP

The motivation is to write my own library. I have written api clients before and know what goes into one, but recently was just thinking of ways how to organise such a library and looking for inspiration. So I’m looking for some open source projects where by looking at the code, I could say - wow, this library is very well written, has good separation of concerns, good testability, etc. To learn from the best :slight_smile:

pablodavila

pablodavila

Ah, I understand now. I’m sorry if I made any wrong assumptions.

I haven’t used a lot of clients but these are the ones I’ve heard good things about:

Hope these are useful as a starting point at the very least :smiley:

egze

egze OP

No worries. Thanks for the list!

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
mnkhod
So i have been using ash framework for a while and i love it. However currently the issue im having with ash framework is the error handl...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews