# API Libraries

These libraries allow quick integration between SendGrid and your project, and are available for a variety of languages and frameworks.

## Official libraries

SendGrid maintains the following official libraries for mail sending.

* [sendgrid-csharp](https://github.com/sendgrid/sendgrid-csharp) - Official C# Library
* [sendgrid-go](https://github.com/sendgrid/sendgrid-go) - Official Go Library
* [sendgrid-java](https://github.com/sendgrid/sendgrid-java) - Official Java Library
* [sendgrid-nodejs](https://github.com/sendgrid/sendgrid-nodejs) - Official NodeJS Library
* [sendgrid-php](https://github.com/sendgrid/sendgrid-php) - Official PHP Library
* [sendgrid-python](https://github.com/sendgrid/sendgrid-python) - Official Python Library
* [sendgrid-ruby](https://github.com/sendgrid/sendgrid-ruby) - Official Ruby Library

The following official libraries are maintained by SendGrid to create [SMTP API Headers](/docs/sendgrid/for-developers/sending-email/building-an-x-smtpapi-header), they are included in the above official libraries.

* [smtpapi-csharp](https://github.com/sendgrid/smtpapi-csharp) - Official C# SMTP API library
* [smtpapi-go](https://github.com/sendgrid/smtpapi-go) - Official Go SMTP API library
* [smtpapi-java](https://github.com/sendgrid/smtpapi-java) - Official Java SMTP API library
* [smtpapi-nodejs](https://github.com/sendgrid/smtpapi-nodejs) - Official NodeJS SMTP API library
* [smtpapi-php](https://github.com/sendgrid/smtpapi-php) - Official PHP SMTP API library
* [smtpapi-python](https://github.com/sendgrid/smtpapi-python) - Official Python SMTP API library
* [smtpapi-ruby](https://github.com/sendgrid/smtpapi-ruby) - Official Ruby SMTP API library

The following official library is maintained by SendGrid to use the [Event Webhook](/docs/sendgrid/for-developers/tracking-events/event/):

* [EventKit](https://github.com/sendgrid/eventkit-rails) *by SendGrid* - An app to consume and store SendGrid Events.

> \[!NOTE]
>
> If you find a problem with any of the official libraries please submit issues on their respective GitHub projects and we'll address them ASAP

## Community libraries

Open source library contributions from the awesome SendGrid community.

## Web API Libraries

### .NET

* [StrongGrid](https://github.com/Jericho/StrongGrid) *by Jeremie Desautels* - Strongly typed library (no dynamic types!) for working with SendGrid's v3 API. Available as a [NuGet package](https://www.nuget.org/packages/StrongGrid/). This library also includes a parser for Events and Inbounce Email webhooks.
* [MinimalSendGrid](https://github.com/TanukiSharp/MinimalSendGrid) *by Sebastien Robert* - Minimal implementation of the SendGrid HTTP v3 API to send emails, compatible with .NET Standard 1.0
* [SendGridSharp](https://github.com/shibayan/SendGridSharp) *by Tatsuro Shibamura* - SendGrid Client for C# (.NET 4.5) Support to the new API, there is a feature that is not dependent on the System.Net.Mail.

### Universal

* [RapidAPI-SendGrid](https://rapidapi.com/sendgrid/api/SendGrid) *by Dmitry Shumytskyi)* - Test the SendGrid API in your browser and integrate into your app using autogenerated code.
* [CloudRail-SendGrid](https://cloudrail.com/?utm_source=SendGrid\&utm_medium=Website\&utm_campaign=SendGrid%20Website) *by CloudRail* - Bundle SendGrid and other APIs into one SDK

### Android

* [sendgrid-android](https://github.com/danysantiago/sendgrid-android) - The Android library for SendGrid by [DannySantiago](https://github.com/danysantiago)

### ColdFusion

* [sendgrid.cfc](https://github.com/mjclemente/sendgrid.cfc) - *by Matthew Clemente* - A CFML wrapper for the SendGrid API

### Command Line

* [cmdgrid](https://github.com/martyndavies/cmdgrid) *by Martyn Davies* - CLI for working with SendGrid's Parse API
* [sgsend](https://github.com/vvaidy/sgsend) *by Vijay Vaidyanathan* - Sending email from the shell command line (for Macs and Unix)
* [sg](https://github.com/awwa/sg) *by Wataru Sato* - CLI for all SendGrid v3 endpoints.

### Elixir

* [sendgrid\_elixir](https://github.com/alexgaribay/sendgrid_elixir) *by Alex Garibay* - Elixir package for sending SendGrid transactional emails
* [bamboo](https://github.com/thoughtbot/bamboo) *by Thoughtbot* - Elixir emailing package, with SendGrid adapter
* [swoosh](https://github.com/swoosh/swoosh) - Another Elixir emailing package, with SendGrid adapter

### Groovy

* [grails-sendgrid](https://github.com/aiten/grails-sendgrid) *by Antony Jones* - Grails framework plugin

### Haskell

* [sendgrid-v3](https://github.com/marcelbuesing/sendgrid-v3) *by Marcel Buesing* - Haskell package for sending Mails via the SendGrid v3 Mail API

### Java

* [sendgrid-google-java](https://github.com/sendgrid/sendgrid-google-java) *by SendGrid* - Java library for use with Google App Engine
* [sendgrid4j](https://github.com/shunjikonishi/sendgrid4j) *by Shunji Konishi* - SendGrid client for Java
* [sendgrid-asm-java](https://github.com/krenfro/sendgrid-asm-java) *by Kyle Renfro* - Unsubscribe Groups Java Client

### JavaScript / Node.js

* [sendgrid-mailer](https://github.com/adamreisnz) *by Adam Reis* - JavaScript wrapper for the official SendGrid library.
* [node-sendgrid](https://github.com/HerdHound/node-sendgrid) *by Branko Vukelick* - Generate X-SMTPAPI headers in node.js.
* [node\_subscription\_widget](https://github.com/devchas/sendgrid_subscription_widget) *by Devin Chasanoff* - General purpose subscription widget created in node.js
* [loopback-sendgrid-connector](https://github.com/VMois/loopback-sendgrid-connector) *by Vladyslav Moisieienkov* - Loopback connector for SendGrid Mail Service
* [sts-sendgrid](https://github.com/oritpersik) *by Orit Persik* - Use the SendGrid Web API via Node.js.

### Meteor

* [meteor-sendgrid](https://github.com/DavidBrear/meteor-sendgrid) *by David Brear* - Meteorite package for SendGrid API

### Perl

* [Email::SendGrid::V3](https://metacpan.org/pod/Email::SendGrid::V3) *by Grant Street Group Inc* - Perl library for the SendGrid v3 Web API
* [sendgrid-perl](https://github.com/sendgrid/sendgrid-perl) *by SendGrid* - Perl library for the SendGrid v2 API
* [WebService--SendGrid](https://github.com/majrmovies/WebService--SendGrid) *by Jonathan Lloyd* - Perl interface for SendGrid v2 API

### PHP

* [sendgrid-openshift-php](https://github.com/sendgrid/openshift-sendgrid-php) *by SendGrid* - Official PHP wrapper for use with Red Hat OpenShift
* [sendgrid-report-php](https://github.com/fcosrno/sendgrid-report-php) *by Francisco Serrano* - PHP wrapper to view and manage SendGrid reports through the SendGrid API
* [SendGrid-PHP-Library](https://github.com/alonbendavid/SendGrid-PHP-Library) *by Alon Ben David* - PHP wrapper for the SendGrid API including Marketing Email API
* [messaging\_sendgrid](https://github.com/josereyero/messaging_sendgrid) *by Jose Reyero* - Drupal 7 plugin that adds bulk messaging capabilities via SendGrid
* [codeigniter-sendgrid-newsletter](https://github.com/bold/codeigniter-sendgrid-newsletter) *by Garrett St John* - CodeIgniter wrapper for the SendGrid Marketing Email API
* [codeigniter-sendgrid-mail](https://github.com/bold/codeigniter-sendgrid-mail) *by Garrett St John* - CodeIgniter wrapper for the SendGrid Mail API
* [sendgrid-component](https://github.com/damusnet/sendgrid-component) *by Damien Varron* - CakePHP component that extends the base email component with SendGrid functionality
* [sendgrid-subuser-api](https://github.com/eliksir/sendgrid-subuser-api) *by Eliksir* - Library that helps you work with the SendGrid Subuser API
* [sendgrid-webapi-v3-php](https://github.com/idimensionz/sendgrid-webapi-v3-php) *by iDimensionz* - A complete implementation of the V3 WebAPI in PHP. Very structured, OO implementation with excellent test coverage. A repo containing examples showing how to utilize our implementation is available at [example](https://github.com/idimensionz/sendgrid-webapi-v3-examples).
* [laravel-sendgrid-driver](https://github.com/s-ichikawa/laravel-sendgrid-driver) *by Shingo Ichikawa* - This library can add SendGrid driver into the Laravel's mail configure.
* [godpod/sendgrid](https://packagist.org/packages/godpod/sendgrid) *by Ravi Rajendra* - This library allows you to send emails or make API calls through SendGrid using PHP.
* [fastglass/sendgrid](https://github.com/taz77) *by taz77* - This library allows you to send emails through SendGrid using PHP and Guzzle 6.x.

### PICK BASIC

* [MV Connect: MVSendGrid](https://docs.rocketsoftware.com/bundle/mvconnect_rg_174/page/gvx1658607795919.html) - This library allows you to call SendGrid's v2 Web API from various flavors of PICK including but not limited to jBASE, UniVerse, UniData, D3 and OpenQM.

### Python

* [greplin-tornado-sendgrid](https://github.com/Cue/greplin-tornado-sendgrid) *by Daniel Gross* - SendGrid client for Tornado Web Server
* [django-sendgrid-v5](https://github.com/sklarsa/django-sendgrid-v5/) *by Steven Sklar* - SendGrid Web API Email Backend for Django
* [sendgrid-django](https://github.com/elbuo8/sendgrid-django) *by Yamil Asusta* - SendGrid Web API interface for Django
* [Flask-SendGrid](https://github.com/frankV/flask-sendgrid) *by Frank Valcarcel* - SendGrid SMTP API interface for Flask
* [aiohttp-sendgrid](https://github.com/Kurlov/aiohttp-sendgrid) *by Aleksandr Kurlov* - SendGrid SMTP API interface for aiohttp

### Ruby

* [sendgrid](https://github.com/stephenb/sendgrid) *by Stephen Blankenship* - SendGrid rubygem (ActionMailer)
* [sendgrid\_toolkit](https://github.com/freerobby/sendgrid_toolkit) *by Robby Grossman* - Ruby wrapper for the SendGrid Web API
* [sendgrid-rails](https://github.com/PavelTyk/sendgrid-rails) *by Pavel Tsiukhtsiayeu* - Extends ActionMailer with SendGrid methods
* [gatling\_gun](https://github.com/okrb/gatling_gun) *by James Edward Gray II* - Wrapper over SendGrid's Marketing Email API.
* [sendgrid\_api](https://github.com/markedmondson/sendgrid_api) *by Mark Edmondson* - Implements an ActionMailer that delivers through the SendGrid Web API.
* [sendgrid4r](https://github.com/awwa/sendgrid4r) *by Wataru Sato* - Ruby wrapper for the SendGrid Web API v3.

### Rust

* [sendgrid-rs](https://github.com/gsquire/sendgrid-rs) by [gsquire](https://github.com/gsquire)

### Titanium

* [ti.sendgrid](https://github.com/sendgrid/ti.sendgrid) - SendGrid Titanium wrapper

## Webhook Libraries

### C\#

* [StrongGrid](https://github.com/Jericho/StrongGrid) *by Jeremie Desautels* - Strongly typed library (no dynamic types!) for working with SendGrid's v3 API. Available as a [NuGet package](https://www.nuget.org/packages/StrongGrid/). This library also includes a parser for Events and Inbounce Email webhooks.
* [C# Webhooks](https://github.com/mirajavora/sendgrid-webhooks) - *Community contributed library*

### Python \[#python-2]

* [Django eventhooks](https://github.com/agiliq/sendgrid-eventhooks) *by agiliq* - An app to consume and store SendGrid Events with Django
* [Pyramid Webhooks](https://github.com/GoodRx/pyramid-sendgrid-webhooks) *by GoodRx* - Parses incoming SendGrid Webhook events in Pyramid apps

### Ruby \[#ruby-2]

* [gridhook](https://github.com/injekt/gridhook) *by Lee Jarvis* - Ruby Gem for handling inbound batches from our Event API
* [griddler](https://github.com/thoughtbot/griddler-sendgrid) *by Thoughtbot* - Rails engine that provides an endpoint for SendGrid's Parse API
* [Pokey](https://github.com/ccallebs/pokey-sendgrid) *by Chuck Callebs* - Ruby Gem for simulating events to your code for QA or development environments

## Standard Drivers

### ADO.NET Providers

* [CData ADO.NET Provider for SendGrid](https://www.cdata.com/drivers/sendgrid/ado) *by CData Software* - Fully-managed ADO.NET Provider with support for Entity Framework, ADO.NET 2.0, LINQ, and more. Use SendGrid Data Provider objects to connect and access data just as you would access any traditional database.

### JDBC Drivers

* [CData JDBC Driver for SendGrid](https://www.cdata.com/drivers/sendgrid/jdbc) *by CData Software* - Pure Java Type 4/5 JDBC Driver with bi-directional access from Java/J2EE applications. Connect to live SendGrid data through any JDBC capable application or tool!

### ODBC Drivers

* [CData ODBC Driver for SendGrid](https://www.cdata.com/drivers/sendgrid/odbc) *by CData Software* - Unicode-enabled 32/64-bit ODBC 3.8 compliant Driver for Windows, Mac, & Linux. Access SendGrid the same way that you would connect to any other ODBC data source!
