# URLs Calls

## Introduction

The [`toplinkclicked`](/docs/api-reference/email-api/categories/statistics/) API resource help you identify from where links in your emails are clicked.

In addition to that, our API offers a full range of statistics related methods to help you extract meaningful data about your email. Please refer to our [dedicated guide](/docs/email-api/statistics/stats-overview/) to learn more.

## List

Info
Maps to /urls/list.json

PHP
```php
<?php
require 'vendor/autoload.php';
use \Mailjet\Resources;
$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'));
$response = $mj->get(Resources::$Toplinkclicked);
$response->success() && var_dump($response->getData());
?>
```

Bash
```bash
# View : Top links clicked historgram.
curl -s \
	-X GET \
	--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
	https://api.mailjet.com/v3/REST/toplinkclicked
```

Node.js
```javascript
/**
 *
 * View : Top links clicked historgram.
 *
 */
var mailjet = require('node-mailjet').connect(
  process.env.MJ_APIKEY_PUBLIC,
  process.env.MJ_APIKEY_PRIVATE
)
var request = mailjet.get('toplinkclicked').request()
request
  .on('success', function(response, body) {
    console.log(response.statusCode, body)
  })
  .on('error', function(err, response) {
    console.log(response.statusCode, err)
  })
```

Ruby
```ruby
# View : Top links clicked historgram.
Mailjet.configure do |config|
  config.api_key = ENV['MJ_APIKEY_PUBLIC']
  config.secret_key = ENV['MJ_APIKEY_PRIVATE']
  config.default_from = 'your default sending address'
end
variable = Mailjet::Toplinkclicked.all()
```

Python
```python
"""
View : Top links clicked historgram.
"""
from mailjet_rest import Client
import os
api_key = os.environ['MJ_APIKEY_PUBLIC']
api_secret = os.environ['MJ_APIKEY_PRIVATE']
mailjet = Client(auth=(api_key, api_secret))
result = mailjet.toplinkclicked.get()
print result.status_code
print result.json()
```

Go
```go
/*
View : Top links clicked historgram.
*/
package main
import (
	"fmt"
	. "github.com/mailjet/mailjet-apiv3-go"
	"github.com/mailjet/mailjet-apiv3-go/resources"
	"os"
)
func main () {
	mailjetClient := NewMailjetClient(os.Getenv("MJ_APIKEY_PUBLIC"), os.Getenv("MJ_APIKEY_PRIVATE"))
	var data []resources.Toplinkclicked
	_, _, err := mailjetClient.List("toplinkclicked", &data)
	if err != nil {
	  fmt.Println(err)
	}
	fmt.Printf("Data array: %+v\n", data)
}
```

Java
```java
package com.my.project;
import com.mailjet.client.errors.MailjetException;
import com.mailjet.client.MailjetClient;
import com.mailjet.client.MailjetRequest;
import com.mailjet.client.MailjetResponse;
import com.mailjet.client.resource.Toplinkclicked;
public class MyClass {
    /**
     * View : Top links clicked historgram.
     */
    public static void main(String[] args) throws MailjetException {
      MailjetClient client;
      MailjetRequest request;
      MailjetResponse response;
      client = new MailjetClient("api key", "api secret");
      request = new MailjetRequest(Toplinkclicked.resource);
      response = client.get(request);
      System.out.println(response.getStatus());
      System.out.println(response.getData());
    }
}
```

```json
{
  "Count": 1,
  "Data": [
    {
      "ClickedCount": "3",
      "ID": "-1",
      "LinkId": "1",
      "Url": "www.example.com"
    }
  ],
  "Total": 1
}
```

Issue a `GET` request to [`toplinkclicked`](/docs/api-reference/email-api/categories/statistics/).

## Search

Info
Maps to /urls/search.json

PHP
```php
<?php
require 'vendor/autoload.php';
use \Mailjet\Resources;
$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'));
$filters = [
  'FromDomain' => 'example.com'
];
$response = $mj->get(Resources::$Toplinkclicked, ['filters' => $filters]);
$response->success() && var_dump($response->getData());
?>
```

Bash
```bash
# View : Top links clicked historgram.
curl -s \
	-X GET \
	--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
	https://api.mailjet.com/v3/REST/toplinkclicked?FromDomain=example.com
```

Node.js
```javascript
/**
 *
 * View : Top links clicked historgram.
 *
 */
var mailjet = require('node-mailjet').connect(
  process.env.MJ_APIKEY_PUBLIC,
  process.env.MJ_APIKEY_PRIVATE
)
var request = mailjet.get('toplinkclicked').request({
  FromDomain: 'example.com',
})
request
  .on('success', function(response, body) {
    console.log(response.statusCode, body)
  })
  .on('error', function(err, response) {
    console.log(response.statusCode, err)
  })
```

Ruby
```ruby
# View : Top links clicked historgram.
Mailjet.configure do |config|
  config.api_key = ENV['MJ_APIKEY_PUBLIC']
  config.secret_key = ENV['MJ_APIKEY_PRIVATE']
  config.default_from = 'your default sending address'
end
variable = Mailjet::Toplinkclicked.all(from_domain: "example.com")
```

Python
```python
"""
View : Top links clicked historgram.
"""
from mailjet_rest import Client
import os
api_key = os.environ['MJ_APIKEY_PUBLIC']
api_secret = os.environ['MJ_APIKEY_PRIVATE']
mailjet = Client(auth=(api_key, api_secret))
filters = {
  'FromDomain': 'example.com'
}
result = mailjet.toplinkclicked.get(filters=filters)
print result.status_code
print result.json()
```

Go
```go
/*
View : Top links clicked historgram.
*/
package main
import (
	"fmt"
	. "github.com/mailjet/mailjet-apiv3-go"
	"github.com/mailjet/mailjet-apiv3-go/resources"
	"os"
)
func main () {
	mailjetClient := NewMailjetClient(os.Getenv("MJ_APIKEY_PUBLIC"), os.Getenv("MJ_APIKEY_PRIVATE"))
	var data []resources.Toplinkclicked
	_, _, err := mailjetClient.List("toplinkclicked", &data, Filter("FromDomain", "example.com"))
	if err != nil {
	  fmt.Println(err)
	}
	fmt.Printf("Data array: %+v\n", data)
}
```

Java
```java
package com.my.project;
import com.mailjet.client.errors.MailjetException;
import com.mailjet.client.MailjetClient;
import com.mailjet.client.MailjetRequest;
import com.mailjet.client.MailjetResponse;
import com.mailjet.client.resource.Toplinkclicked;
public class MyClass {
    /**
     * View : Top links clicked historgram.
     */
    public static void main(String[] args) throws MailjetException {
      MailjetClient client;
      MailjetRequest request;
      MailjetResponse response;
      client = new MailjetClient("api key", "api secret");
      request = new MailjetRequest(Toplinkclicked.resource)
      				 .filter(Messagesentstatistics.FROMDOMAIN, "example.com");
      response = client.get(request);
      System.out.println(response.getStatus());
      System.out.println(response.getData());
    }
}
```

```json
{
  "Count": 1,
  "Data": [
    {
      "ClickedCount": "3",
      "ID": "-1",
      "LinkId": "1",
      "Url": "www.example.com"
    }
  ],
  "Total": 1
}
```

Issue a `GET` request to [`toplinkclicked`](/docs/api-reference/email-api/categories/statistics/) using the `FromDomain` query filter, to filter the dataset on the domain you're looking for.

## Time-Series

Info
Maps to /urls/time-series.json

PHP
```php
<?php
require 'vendor/autoload.php';
use \Mailjet\Resources;
$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'));
$filters = [
  'FromTs' => '1456479862',
  'ToTs' => '1458985462'
];
$response = $mj->get(Resources::$Toplinkclicked, ['filters' => $filters]);
$response->success() && var_dump($response->getData());
?>
```

Bash
```bash
# View : Top links clicked historgram.
curl -s \
	-X GET \
	--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
	https://api.mailjet.com/v3/REST/toplinkclicked?FromTs=1456479862&ToTs=1458985462
```

Node.js
```javascript
/**
 *
 * View : Top links clicked historgram.
 *
 */
var mailjet = require('node-mailjet').connect(
  process.env.MJ_APIKEY_PUBLIC,
  process.env.MJ_APIKEY_PRIVATE
)
var request = mailjet.get('toplinkclicked').request({
  FromTs: '1456479862',
  ToTs: '1458985462',
})
request
  .on('success', function(response, body) {
    console.log(response.statusCode, body)
  })
  .on('error', function(err, response) {
    console.log(response.statusCode, err)
  })
```

Ruby
```ruby
# View : Top links clicked historgram.
Mailjet.configure do |config|
  config.api_key = ENV['MJ_APIKEY_PUBLIC']
  config.secret_key = ENV['MJ_APIKEY_PRIVATE']
  config.default_from = 'your default sending address'
end
variable = Mailjet::Toplinkclicked.all(from_ts: "1456479862", to_ts: "1458985462")
```

Python
```python
"""
View : Top links clicked historgram.
"""
from mailjet_rest import Client
import os
api_key = os.environ['MJ_APIKEY_PUBLIC']
api_secret = os.environ['MJ_APIKEY_PRIVATE']
mailjet = Client(auth=(api_key, api_secret))
filters = {
  'FromTs': '1456479862'
  'ToTs': '1458985462'
}
result = mailjet.toplinkclicked.get(filters=filters)
print result.status_code
print result.json()
```

Go
```go
/*
View : Top links clicked historgram.
*/
package main
import (
	"fmt"
	. "github.com/mailjet/mailjet-apiv3-go"
	"github.com/mailjet/mailjet-apiv3-go/resources"
	"os"
)
func main () {
	mailjetClient := NewMailjetClient(os.Getenv("MJ_APIKEY_PUBLIC"), os.Getenv("MJ_APIKEY_PRIVATE"))
	var data []resources.Toplinkclicked
	_, _, err := mailjetClient.List("toplinkclicked", &data, Filter("FromTs", "1456479862"), Filter("ToTs", "1458985462"))
	if err != nil {
	  fmt.Println(err)
	}
	fmt.Printf("Data array: %+v\n", data)
}
```

Java
```java
package com.my.project;
import com.mailjet.client.errors.MailjetException;
import com.mailjet.client.MailjetClient;
import com.mailjet.client.MailjetRequest;
import com.mailjet.client.MailjetResponse;
import com.mailjet.client.resource.Toplinkclicked;
public class MyClass {
    /**
     * View : Top links clicked historgram.
     */
    public static void main(String[] args) throws MailjetException {
      MailjetClient client;
      MailjetRequest request;
      MailjetResponse response;
      client = new MailjetClient("api key", "api secret");
      request = new MailjetRequest(Toplinkclicked.resource)
      				 .filter(Messagesentstatistics.FROMTS, "1456479862")
      				 .filter(Messagesentstatistics.TOTS, "1458985462")
      response = client.get(request);
      System.out.println(response.getStatus());
      System.out.println(response.getData());
    }
}
```

```json
{
  "Count": 1,
  "Data": [
    {
      "ClickedCount": "3",
      "ID": "-1",
      "LinkId": "1",
      "Url": "www.1456479862"
    }
  ],
  "Total": 1
}
```

```json
{
  "Count": 1,
  "Data": [
    {
      "ClickedCount": "3",
      "ID": "-1",
      "LinkId": "1",
      "Url": "www.example.com"
    }
  ],
  "Total": 1
}
```

Issue a `GET` request to [`toplinkclicked`](/docs/api-reference/email-api/categories/statistics/) using the `FromTs` and `ToTs` query filters, to filter the dataset within your date range. These filters expect UNIX epoch timestamps.