We were tasked to quantify the scale of illegal wildlife trading.

We responded to problem statements 3 (our solution is an API) and 4 (our solution built a use case for illegal trade in spiders using this API).

Speaking to various subject experts (eg. from Metropolitan Police; ZSL London Zoo for animal trafficking, spider expert), we became aware that: Current effort in policing illegal wildlife trades online involves manually searching through different websites one-by-one. There is unnecessary effort duplication between different actors (eg. law enforcement, conservationists, organisations in different countries). When one party has found a case of interest, they may not know who to contact next in order to move the case forward. Illegal sellers of certain animals (eg. spiders) are blatant on social media because they are not being caught. These sellers may also be trading in other illegal animals. Finding them could lead to wider network. In the case of spiders, the trade online is yet unquantified. (As well as helping with crime, quantifying it would help to better understand the ecological impact.)

What it does


We built an API with a database that aggregates and stores sale posts from different social platforms (currently Gumtree, Twitter and Ebay). It will be customisable to different audiences (eg. law enforcement, conservationists, researchers, policy officers).

Information gathered include:

Seller identification (username, location) Price Description Date Photos with geolocation

To facilitate collaboration between different parties, users can add notes to the entries to share knowledge and help build a case on a sale or a trader.

Front end

A website with a simple and intuitive user interface that gives all the essential information at a glance. It works across desktop, tablets, smartphones.

How we built it

Node.js and javascript code scrapes data from each service. We used a MongoDB database because MongoDB lets you be flexible with attributes in the same collection. We can use http requests to allow the javascript frontend to query the database because we work with Eve.

Challenges we ran into The first challenge was trying to break the complex multi-actor problem into something soluble.

When the Ebay API returned without a picture, we passed 'undefined' as a parameter. This led to an unfulfilled promise error. This led We dealt with this edge-case by setting a sensible default (an empty string).

Accomplishments that we're proud of Great teamwork! (No arguments, wow.)

What we learned In particular, I learned more about relational and non-relational databases and how and when to use each type of db.

What's next for Wild Trade Interceptor

Meet with spider expert from London Zoo about how we might develop it further for this use case.

Try it out GitHub Repo Presentation (

Image Image to replace the existing one with the primate, because of Creative Commons license. Can use a screenshot instead:

Share this project: