If you are a non-EU user, the API root is https://dmarcly.com/api/. Otherwise you are an EU user, the API root is https://eu.dmarcly.com/api/.
The API root links to all other resources available in the API.
When you call one of the endpoints, construct the endpoint url like:
{API root}{endpoint}
For example, the url of endpoint aggregate_by_domain for a non-EU user is:
https://dmarcly.com/api/aggregate_by_domain
For an EU user, it's:
https://eu.dmarcly.com/api/aggregate_by_domain
DMARCLY uses Unix time to represent time periods. Unix time is the number of seconds that have elapsed since the Unix epoch, that is the time 00:00:00 UTC on 1 January 1970.
The results are paginated. You can pass a page parameter to fetch a particular page of records. If the response contains an empty records field, you've reached the end.
GET /aggregate_by_domain
Description: Get DMARC aggregate data grouped by domain.
Parameters:
Parameter | Description |
---|---|
start | start of Unix time in seconds |
end | end of Unix time in seconds |
page | page of records, starting from 1 |
Response:
{
"status":"SUCCESS",
"total":1,
"records":[
{
"Domain":"somedomain.com",
"Volume":"168595",
"DMARC":"167814",
"DMARCUnaligned":"781",
"DMARCUnalignedARCPass":"36",
"DKIMAligned":"167628",
"DKIM":"168210",
"DKIMFailed":"385",
"SPFAligned":"52172",
"SPF":"165785",
"SPFFailed":"2810"
}
]
}
Example:
curl -H "Authorization: Bearer 12341fc3ce4d57f3368d47cd304812ad" "https://dmarcly.com/api/aggregate_by_domain?start=1643120855&end=1643725655"
GET /aggregate_by_domain_group
Description: Get DMARC aggregate data grouped by domain group.
Parameters:
Parameter | Description |
---|---|
start | start of Unix time in seconds |
end | end of Unix time in seconds |
page | page of records, starting from 1 |
Response:
{
"status":"SUCCESS",
"total":1,
"records":[
{
"DomainGroup":"SomeGroup",
"Volume":"11162",
"DMARC":"11060",
"DMARCUnaligned":"102",
"DMARCUnalignedARCPass":"4",
"DKIMAligned":"10897",
"DKIM":"10943",
"DKIMFailed":"219",
"SPFAligned":"3313",
"SPF":"10824",
"SPFFailed":"338"
}
]
}
Example:
curl -H "Authorization: Bearer 12341fc3ce4d57f3368d47cd304812ad" "https://dmarcly.com/api/aggregate_by_domain_group?start=0&end=1811111112"
GET /aggregate_by_unaligned_source
Description: Get DMARC aggregate data grouped by unaligned source.
Parameters:
Parameter | Description |
---|---|
start | start of Unix time in seconds |
end | end of Unix time in seconds |
page | page of records, starting from 1 |
Response:
{
"status":"SUCCESS",
"total":1689,
"records":[
{
"SourceDomain":"mail175.suw16.rsgsv.net",
"DomainPublished":"mycompany.com",
"Organization":"google.com",
"SourceIp":"198.2.182.175",
"Disposition":"none",
"ARC":null,
"DispositionCount":"1",
"LastDate":"2020-02-06",
"SPFDomain":"mail175.suw16.rsgsv.net",
"DKIMDomain":"gmail.mcsv.net",
"Volume":"37398",
"DMARC":"0",
"DMARCUnaligned":"37398",
"DMARCUnalignedARCPass":null,
"DKIMAligned":"0",
"DKIM":"37304",
"DKIMFailed":"94",
"SPFAligned":"0",
"SPF":"37398",
"SPFFailed":"0"
},
...
]
}
Example:
curl -H "Authorization: Bearer 12341fc3ce4d57f3368d47cd304812ad" "https://dmarcly.com/api/aggregate_by_unaligned_source?start=0&end=1811111112"
GET /aggregate_by_source
Description: Get DMARC aggregate data grouped by source.
Parameters:
Parameter | Description |
---|---|
start | start of Unix time in seconds |
end | end of Unix time in seconds |
page | page of records, starting from 1 |
Response:
{
"status":"SUCCESS",
"total":2857,
"records":[
{
"SourceDomain":"mail171.suw18.rsgsv.net",
"DomainPublished":"versatile.co.nz",
"Organization":"google.com",
"SourceIp":"198.2.181.171",
"Disposition":"none",
"ARC":null,
"DispositionCount":"2",
"LastDate":"2020-02-24",
"SPFDomain":"mail171.suw18.rsgsv.net",
"DKIMDomain":"mcc.mcsv.net",
"Volume":"59258",
"DMARC":"59254",
"DMARCUnaligned":"4",
"DMARCUnalignedARCPass":"0",
"DKIMAligned":"59254",
"DKIM":"59254",
"DKIMFailed":"4",
"SPFAligned":"29",
"SPF":"59258",
"SPFFailed":"0"
},
...
]
}
Example:
curl -H "Authorization: Bearer 12341fc3ce4d57f3368d47cd304812ad" "https://dmarcly.com/api/aggregate_by_source?start=0&end=1811111112"
GET /aggregate_by_organization
Description: Get DMARC aggregate data grouped by organization.
Parameters:
Parameter | Description |
---|---|
start | start of Unix time in seconds |
end | end of Unix time in seconds |
page | page of records, starting from 1 |
Response:
{
"status":"SUCCESS",
"total":93,
"records":[
{
"Organization":"google.com",
"Volume":"389129",
"DMARC":"285937",
"DMARCUnaligned":"103192",
"DMARCUnalignedARCPass":"1375",
"DKIMAligned":"284643",
"DKIM":"379054",
"DKIMFailed":"10075",
"SPFAligned":"105161",
"SPF":"372009",
"SPFFailed":"17120"
},
...
]
}
Example:
curl -H "Authorization: Bearer 12341fc3ce4d57f3368d47cd304812ad" "https://dmarcly.com/api/aggregate_by_organization?start=0&end=1811111112"