SigParser 1.0.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package SigParser --version 1.0.6                
NuGet\Install-Package SigParser -Version 1.0.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SigParser" Version="1.0.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SigParser --version 1.0.6                
#r "nuget: SigParser, 1.0.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SigParser as a Cake Addin
#addin nuget:?package=SigParser&version=1.0.6

// Install SigParser as a Cake Tool
#tool nuget:?package=SigParser&version=1.0.6                

Parse email bodies, split email chains chains and email signatures from either HTML or plain text emails. Multiple languages supported.

Signup for a free account at https://sigparser.com to get an API key and use the API with up to 200 emails per month.

Code Example

var client = new SigParser.Client(ApiKey);
var result = client.Parse(new SigParser.EmailParseRequest
{
	plainbody = @"
		Hi John,

		Lets get coffee tomorrow.

		Thanks
		Steve Johnson
		888-333-3323 Mobile
		San Diego, CA
	",
	from_name = "Steve Johnson",
	from_address = "sjohnson@example.com"
}).Result;

FAQ

What can it find?

SigParser tries to parse raw emails and pull out everything interesting.

  • Split the emails on the email headers generated by various email clients
    • Multiple languages supported
  • Converts emails to plain text if originally HTML
  • Converts each HTML section to HTML
  • Capture email signatures from each email in an email body.
  • Capture inline phone numbers (ie My phone is...)
  • Capture job titles, addresses, Twitter, LinkedIn handles

How do I use this?

Create an instance of SigParser.Client class and pass it the API key or set the API key property. Then call the Parse(email) async method. For the email object, you need to provide either the HTML or Plain text body or both. If you provide both SigParser will prefer HTML first and if blank then plaintext. For signature parsing it is important to provide the display name “from_name” (first and last name) of the sender which you almost always get for emails. The from_address is also good to provide. See below for a code example.

Why use an API vs just embedding the parsing logic in the library?

Over time email signature patterns change and email clients change their headers. For example, in 2014 Gmail started using a massively different header for about two months. Instead of making you update your code every week or month, calling an API lets you get the latest algorithm changes without having to update your code. We update the underlying API and algorithms weekly but the API contract shouldn't change and if it does, we're only adding functionality to it.

Is SigParser storing my emails?

No, SigParser doesn’t store emails you send to it via this package. We receive the payload, process it and return the response. Behind the scenes we use a Lambda function to drive the API so everything is ephemeral.

How do I pull the emails from the email server?

We have a variety of articles at our website on how to do this. It is too long to explain here.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.15 397 2/8/2023
3.0.14 553 4/28/2022
3.0.13 344 12/30/2021
3.0.0 331 12/30/2021
2.0.5 63,287 6/16/2022
2.0.4 455 6/16/2022
2.0.3 445 6/16/2022
2.0.2 471 6/16/2022
2.0.1 6,987 12/15/2020
2.0.0 5,924 8/14/2019
1.0.15 1,550 8/6/2019
1.0.14 576 8/6/2019
1.0.13 562 8/6/2019
1.0.12 585 8/4/2019
1.0.11 563 8/2/2019
1.0.10 624 5/6/2019
1.0.9 608 4/2/2019
1.0.8 643 3/29/2019
1.0.7 612 3/9/2019
1.0.6 609 3/9/2019
1.0.5 925 8/3/2018
1.0.4 822 8/3/2018
1.0.3 883 8/3/2018

1.0.6 - Added properties for cleanedemailbody,cleanedemailbody_ishtml,cleanedemailbody_plain, htmlBody, spammyLookingEmail and more descriptions on properties.