API

Nous vous offrons la possibilité d'interagir facilement et de façon automatique avec notre plateforme via une API REST communiquant en http (GET ou POST). Les résultats sont fournis au format JSON.

Cette API vous permet, selon vos droits, d'automatiser la soumission d'URL et/ou de requêter les entrées en base et leurs données contextuelles, selon différents critères de recherche.

N'hésitez pas à nous contacter pour toute question ou demande d'aide à l'utilisation de l'API.


Ajoutez dans le header de votre requête
"Authorization": "Token <ma clé>"

Votre compte (via sa clé d'API associée) est autorisé à réaliser les actions suivantes :


Documentation

Vous trouverez ci-dessous les points d'entrée et paramètres utilisables via cette API. Des exemples d'utilisation sont disponibles en python depuis la librairie officielle PyEUPI.

N'hésitez pas à nous solliciter pour d'autres langages de programmation.

url

Retrieve a list of urls.

Response class

UrlResource {
id ( integer , optional )
url ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
first_seen ( integer , optional )
num_seen ( integer , optional )
country ( integer , optional )
last_tagged ( integer , optional )
domain ( integer , optional )
tld ( integer , optional )
ip_address ( integer , optional )
ip_range ( integer , optional )
asn ( integer , optional )
language ( integer , optional )
google_blacklist_update_time ( integer , optional )
}

Parameters

Parameter Description Parameter type Data type
tag

URL status. 0 = unknown, 1 = phishing, 2 = clean.

query integer
tag_label

URL status. Allowed values are "unknown", "phishing" and "clean"

query string
url

query string
url_exact

query string
country

query string
asn

query integer
domain

query string
redirector

'true' to only have redirector urls, 'false' to filter them

query string
language

query string
tld

query string
ip_address

query string
ip_range

IP range, using format xxx.xxx.xxx.xxx/xx

query string
first_seen_before

Date in ISO format

query date-time
first_seen_after

Date in ISO format

query date-time
last_tagged_before

Date in ISO format

query date-time
last_tagged_after

Date in ISO format

query date-time
order_by

Sort by selected field. Prefix the field by a '-' to have a reverted sort

Allowed values: "first_seen", "url", "-first_seen", "-url"

query string
page

Page to fetch

query integer
page_size

Element count per page. Maximum is 50.

query integer

Return codes

HTTP return code Reason
400 Invalid request
200 OK

Send back informations about the url.

Response class

UrlResource {
id ( integer , optional )
url ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
first_seen ( integer , optional )
num_seen ( integer , optional )
country ( integer , optional )
last_tagged ( integer , optional )
domain ( integer , optional )
tld ( integer , optional )
ip_address ( integer , optional )
ip_range ( integer , optional )
asn ( integer , optional )
language ( integer , optional )
google_blacklist_update_time ( integer , optional )
}

Return codes

HTTP return code Reason
400 Invalid request
200 OK

Look for an URL qualification

Response class

UrlListLookupResource {
url ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
}

Parameters

Parameter Description Parameter type Data type
url

URL to query

query string

Search for string in URL source codes Restrictions on allowed terms to search may apply to your search depending on your account.

Response class

UrlListSearchResource {
id ( integer , optional )
url ( integer , optional )
first_seen ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
}

Parameters

Parameter Description Parameter type Data type
url

Regular expression to search in the url string

query string
content

Term to search in the page source code

query string
tag_label

URL status. Allowed values are "unknown", "phishing" and "clean"

query string
tag

URL status. 0 = unknown, 1 = phishing, 2 = clean.

query integer
first_seen_after

URL first submission date from which to search, in ISO 8601

query string
first_seen_before

URL first submission date until which to search, in ISO 8601

query string
page

Page to fetch

query integer
page_size

Element count per page. Maximum is 50.

query integer

submission

Retrieve a list of submissions.

Response class

SubmissionResource {
id ( integer , optional )
time ( integer , optional )
submitter_comment ( integer , optional )
submitter_notify ( integer , optional )
url ( integer , optional )
}
UrlResource {
id ( integer , optional )
url ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
first_seen ( integer , optional )
num_seen ( integer , optional )
country ( integer , optional )
last_tagged ( integer , optional )
domain ( integer , optional )
tld ( integer , optional )
ip_address ( integer , optional )
ip_range ( integer , optional )
asn ( integer , optional )
language ( integer , optional )
google_blacklist_update_time ( integer , optional )
}

Parameters

Parameter Description Parameter type Data type
submitted_before

Date in ISO format

query date-time
submitted_after

Date in ISO format

query date-time
order_by

Sort by selected field. Prefix the field by a '-' to have a reverted sort

Allowed values: "time", "first_seen", "url", "-time", "-first_seen", "-url"

query string
tag

URL status. 0 = unknown, 1 = phishing, 2 = clean.

query integer
tag_label

URL status. Allowed values are "unknown", "phishing" and "clean"

query string
url

query string
url_exact

query string
country

query string
asn

query integer
domain

query string
redirector

'true' to only have redirector urls, 'false' to filter them

query string
language

query string
tld

query string
ip_address

query string
ip_range

IP range, using format xxx.xxx.xxx.xxx/xx

query string
first_seen_before

Date in ISO format

query date-time
first_seen_after

Date in ISO format

query date-time
last_tagged_before

Date in ISO format

query date-time
last_tagged_after

Date in ISO format

query date-time
page

Page to fetch

query integer
page_size

Element count per page. Maximum is 50.

query integer

Return codes

HTTP return code Reason
400 Invalid request
200 OK

Create one or several submissions.

Response class

SubmissionResource {
id ( integer , optional )
time ( integer , optional )
submitter_comment ( integer , optional )
submitter_notify ( integer , optional )
url ( integer , optional )
}
UrlResource {
id ( integer , optional )
url ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
first_seen ( integer , optional )
num_seen ( integer , optional )
country ( integer , optional )
last_tagged ( integer , optional )
domain ( integer , optional )
tld ( integer , optional )
ip_address ( integer , optional )
ip_range ( integer , optional )
asn ( integer , optional )
language ( integer , optional )
google_blacklist_update_time ( integer , optional )
}

Parameters

Parameter Description Parameter type Data type
body

dictionary or list of dictionaries of entries to add. Fields:

  • comment: string
  • notify: boolean
  • tag: integer (0=inconnu, 1=phishing, 2=clean)
  • url: string

body string

Return codes

HTTP return code Reason
400 Invalid request
201 Created

Send back informations about the submission.

Response class

SubmissionResource {
id ( integer , optional )
time ( integer , optional )
submitter_comment ( integer , optional )
submitter_notify ( integer , optional )
url ( integer , optional )
}
UrlResource {
id ( integer , optional )
url ( integer , optional )
tag ( integer , optional )
tag_label ( integer , optional )
first_seen ( integer , optional )
num_seen ( integer , optional )
country ( integer , optional )
last_tagged ( integer , optional )
domain ( integer , optional )
tld ( integer , optional )
ip_address ( integer , optional )
ip_range ( integer , optional )
asn ( integer , optional )
language ( integer , optional )
google_blacklist_update_time ( integer , optional )
}

Return codes

HTTP return code Reason
400 Invalid request
200 OK