Login
Get Started

Easy Digital Downloads Documentation

Documentation, Reference Materials, and Tutorials for Easy Digital Downloads 

Software Licensing API – Example using Perl

This document is a subset of the Software Licensing API document, which lists all features available via the API. The following is example code showcasing how to implement those features with Perl.

Request

use strict;
use warnings;

use LWP::UserAgent;
use CGI;

my $edd_action = 'check_license'; # Valid actions are activate_license, deactivate_license, get_version, check_license
my $license = '';
my $item_id = ''; # The ID of the Download on your website
my $url = 'example.org'; # If you have disabled URL checking in the settings, you do not need this value

my $api = 'https://domain.com/';

my $ua = LWP::UserAgent->new();
my $response = $ua->post( $api, { 'edd_action' => $edd_action, 'license' => $license, 'item_id' => $item_id, 'url' => $url } );
my $content = $response->decoded_content();

my $cgi = CGI->new();
# This prints the resposne from the API, you'll need to validate the data from there using the
# HTTP status headers and the `success` response from the API
print $content;

Response

A response to the above query would be a JSON-formatted string that would look something like this:

{
	"license": "valid",
	"item_name": "EDD Product name",
	"expires": "2014-10-23 00:00:00",
	"payment_id": 54224,
	"customer_name": "John Doe",
	"customer_email": "[email protected]"
}

Was this article helpful?

Start selling today!

Join over 50,000 smart store owners, and start using the easiest way to sell digital products with WordPress.

Copyright © 2025 Sandhills Development, LLC