Skip to content
Peachtree Data

← All API documentation

API Documentation

Reverse Email Append.

Start with an email address — plain or MD5-hashed — and get back the name and postal address of the person behind it. You're only billed when there's a match.

Endpoint
https://rapid.peachtreedata.com/api/v1/reverseemailappend
Methods
GET for a single address · POST for a batch
Formats
JSON by default; append .xml for XML

Authentication

Every request carries your API key in the query string. The API is HTTPS-only, so the key is encrypted in transit. Query parameters can appear in any order, and responses are JSON by default — append .xml to the endpoint for XML.

https://rapid.peachtreedata.com/api/v1/reverseemailappend?apikey={apikey}&…

Don't have a key? Sign up under plans & pricing below — keys work immediately.

Request

ParameterRequiredDescription
apikeyYesYour unique API key.
emailAddressThe email address to look up. Either emailAddress or mD5EmailAddress is required — not both.
mD5EmailAddressAn MD5-hashed email address to look up. Hash the lowercased address with leading and trailing spaces removed.
firstNameA known first name for the person behind the address — improves match accuracy.
lastNameA known last name for the person behind the address — improves match accuracy.
requestIdAny identifier you choose; echoed back in the response.

Provide either emailAddress or mD5EmailAddress — never both. Adding a known first or last name improves match accuracy.

Examples

Single address (GET)
curl "https://rapid.peachtreedata.com/api/v1/reverseemailappend?apikey={apikey}&email=someone@acompany.com"
Response — a match, billable
{
  "emailAddress": "someone@acompany.com",
  "firstName": "someone",
  "lastName": "smith",
  "address": "123 somewhere dr",
  "city": "somecity",
  "state": "ST",
  "zipCode": "12345-1234",
  "status": "Valid",
  "billable": true
}
Batch (POST) — plain and hashed addresses can mix
POST https://rapid.peachtreedata.com/api/v1/reverseemailappend?apikey={apikey}
Content-Type: application/json

[
  { "emailAddress": "someone1@acompany.com" },
  { "emailAddress": "someone2@acompany.com" },
  { "mD5EmailAddress": "754b16549d9c059ec982395f93095cfe" }
]
Batch response — only the matches count toward billing
{
  "totalRequests": 3,
  "totalProcessed": 3,
  "totalInvalidRequests": 0,
  "totalBillableCount": 2,
  "responses": [
    {
      "emailAddress": "someone1@acompany.com",
      "firstName": "someone1",
      "lastName": "smith",
      "address": "123 somewhere dr",
      "city": "somecity",
      "state": "ST",
      "zipCode": "12345-1234",
      "status": "Valid",
      "billable": true
    },
    {
      "emailAddress": "someone2@acompany.com",
      "status": "NonMatch",
      "billable": false
    },
    { "…": "one response per address" }
  ]
}

Response reference

Batch envelope (POST only)

FieldTypeDescription
totalRequestsintEmail addresses received in the request.
totalProcessedintValid email addresses processed by the append service.
totalInvalidRequestsintInvalid request values that were not processed.
totalBillableCountintValid, appended results in the request — only these are billed.

Per-address response

FieldTypeDescription
emailAddressStringThe email address processed.
firstNameStringMatched first name.
lastNameStringMatched last name.
addressStringMatched address.
cityStringMatched city.
stateStringMatched state.
zipCodeStringMatched ZIP Code.
statusStringValid, Invalid, or NonMatch. Only Valid results are charged; the rest are ignored.
billableBooleanWhether this request will be billed. Only requests with a matching append result are billed.
requestIdStringEcho of the requestId you sent, unchanged.

HTTP response codes

CodeDescription
200Processed successfully.
400Bad request — the API key format is invalid, the key is missing, or the input wasn't properly passed.
401Unauthorized — the API key is inactive or invalid.
403Forbidden — the request exceeds the max items allowed per call, or the account isn't set up for this service.
408Request timeout — processing exceeded the max processing time.
500Internal server error during processing.

Plans & pricing

$200/mo

1,000 matches per month

$0.20 per match above 1,000 in a month.

Sign up

Only matches count against your quota — no-match lookups are free. Need higher volume or invoicing? Talk to us.

Connecting email lists to postal addresses?

Tell us what you're building and we'll get you moving — usually the same day.