The open atlas of illegal wildlife trade. Follow the trade.
One map of seizures, arrests and convictions worldwide, in fauna and flora, with every case graded by the strength of its evidence, and a link-analysis workbench that runs in your browser. It traces wildlife crime from where nature is taken to where it touches national security: crime revenue, disease risk and the loss of ecosystems people depend on.
Open the Atlas · Risk pathways · Questions · Research agenda · Accuracy · Who it's for · How much to trust a case · Download the data · Run it yourself · How to cite · Contributing
The Atlas (screenshot from an earlier build; now 1,871 audited cases in 61 countries). Colour is the kind of event, paler dots are single reports, the glow is density of reporting.
WildTrace opens with questions, not a dashboard: What do you want to know? Eleven live answers, filtered for journalists, researchers, policy and everyone, each giving the answer, its number, a chart, who answers (the sources and their standing), what the number cannot tell you, and where to explore it on the map. Every answer also has a citable page for readers and answer engines:
| Question | Page |
|---|---|
| Which wildlife is seized most often? | answers/what-wildlife-is-seized-most |
| Is wildlife sold online ever caught? | answers/is-wildlife-sold-online-ever-caught |
| How often does a seizure end in a conviction? | answers/how-often-a-seizure-ends-in-conviction |
| Can "captive-bred" labels be trusted? | answers/can-captive-bred-labels-be-trusted |
| How accurate is WildTrace? | answers/how-accurate-is-wildtrace |
All eleven: answers.html.
Measured by blind audits of random samples of published cases, each judged against its sources: 96.5% are genuine wildlife-trade enforcement events (193 of 200, 95% interval 93.0-98.3%), and species are right in 98.4% of them. Five audits took precision from 81.5% to its current level; the 98% target is not reached yet, and the site says so. Method, history and limits: docs/ACCURACY.md.
The Oxford Agile Initiative's Environment and National Security: Exploring the Risk Pathways (September 2026) maps how environmental damage reaches national security, and notes that its pathway diagrams "could be linked to a database showing relevant evidence for each link". Wildlife crime appears in its agenda mainly as a revenue source for hostile actors and organised crime (R1.37). WildTrace supplies the evidence for that pathway, link by link:
| Link | Open evidence in WildTrace |
|---|---|
| Nature is taken | strong: cases, 24,786 CITES seizures, 19,346 US port seizures |
| It moves through routes and hubs | partial: CITES transit, multi-country cases |
| It reaches the border | strong: CITES and US inspection records (US-heavy) |
| It funds crime and corrupts institutions | a gap: many seizures, few convictions, no open financial data |
| It carries disease risk | partial: VIRION viruses in traded groups, WHO outbreak reports |
| It erodes ecosystems | partial: removals by functional group |
| It is fought with evidence or rumour | strong: every case graded |
Read Risk pathways for the numbers, rebuilt daily, and the open research agenda for the questions that would close the gaps, from open event-extraction benchmarks to court-outcome data. WildTrace takes the security frame on one condition: security without militarisation. Claims carry their evidence, enforcement is counted and never glorified, and no accused person is named (see how WildTrace speaks).
Offered online, rarely caught. ECO-SOLVE (Global Initiative Against Transnational Organized Crime) records wildlife adverts online: 30,934 adverts for 440 species through 11 regional hubs, 14 April 2024 to 24 September 2026, three in five on Facebook, and no plants. WildTrace records where trade met enforcement. Set side by side for the same species, country and period, they show where wildlife is sold openly while almost nothing reaches the public record of seizures:
| Country | Group | Adverts (ECO-SOLVE) | Cases (WildTrace) |
|---|---|---|---|
| Thailand | Bears | 1,303 | 0 |
| Thailand | Parrots & songbirds | 1,046 | 0 |
| Indonesia | Parrots & songbirds | 859 | 0 |
| Colombia | Parrots & songbirds | 1,154 | 1 |
| Thailand | Tiger | 2,232 | 3 |
| Thailand | Elephant (ivory) | 2,917 | 2 |
It is not a detection rate (the sources watch different things with different effort), and part of the
gap was WildTrace's own: 10,313 of the adverts are in Thai, so WildTrace now reads Thai news too. Only
aggregated counts are published (online_gap.csv),
with attribution; the advert rows are not redistributed. Species offered online but in no WildTrace group
yet (pirarucu, otters, small wild cats, serows) are listed for the next groups. Side-by-side coverage:
docs/OBSERVATORIES.md.
Caught online. Every case records the platforms its reports name (Facebook, Instagram, WhatsApp, Telegram, TikTok, OLX, Mercado Livre, Shopee ...), never a seller, and daily searches look for online wildlife crime that reached police, customs or courts in nine languages.
Captive-bred claims. Declaring wild-caught animals as captive-bred is a documented laundering route
(Lyons & Natusch 2011). captive_claims.csv
shows, per exporter and animal group, how the captive-bred share of commercial CITES exports moved between
2015-2018 and 2020-2023. A rise is a question to ask, never a finding: genuine breeding produces it too.
No word thrown away. Words that name a traded species and also mean something else ("monitor", "horn",
"python", Thai "เหี้ย") are kept and counted only with supporting context nearby; every hit is logged for
review, and a picture can settle it: local OCR (LiteParse) reads
the text in an image and BioCLIP recognises the species
(wildtrace vision). Every vocabulary decision is recorded with its evidence in the
curation log, after Scrub Data (Kay, Bar & Beery 2026). Tools evaluated and adopted:
docs/TOOLING.md.
Reptiles and amphibians. A new group covers axolotls, dart frogs, salamanders and frog legs, following Vora et al. (2026, Nature): more than half of traded reptiles and two in five traded amphibians are taken from the wild, and legal and illegal animals are hard to tell apart.
- Every case says how well it is evidenced. Validated, official, corroborated or single report, shown on the map, in the case panel and in the CSV. A case built on one local news story never looks like a case confirmed by a customs release.
- It is honest about its gaps. The map says how many cases it could not place, and states plainly that counts show where wildlife crime is reported, not where it happens.
- Fauna and flora. Ivory, pangolin and rhino horn, but also rosewood, agarwood and red sanders, in 31 species groups and nine languages.
- Anyone can challenge a case. Every case panel has a Report a correction link. Reviewers record the outcome in a file in this repository, and rejected cases disappear at the next build.
- The data is yours. One CSV, CC BY 4.0, with the JSON behind the map beside it. No account, no API key, no account. Usage is measured with Microsoft Clarity, which is stated on the site.
- Nobody accused is named. No names, phone numbers, addresses or seller identities are ever published. The build fails if one gets through, and CI checks again.
| WildTrace | Commercial and closed IWT dashboards | |
|---|---|---|
| Cost | Free | Licence, subscription or membership |
| Source code | Open (MIT) | Closed |
| Case-level data | CSV and JSON, CC BY 4.0 | Aggregates or on request |
| Evidence grading per case | Yes, four levels | Rare; usually one confidence figure or none |
| Link analysis | In the browser, free | i2 Analyst's Notebook and similar, paid |
| Your own data | Stays in your browser | Uploaded to a server |
| Scope | Global, fauna and flora | Often one region or one taxon |
WildTrace is young, and it does not replace the field's reference datasets. It points to them instead: the observatory network lists 33 datasets, dashboards and codebooks, with what each holds and its access terms. The CITES Trade Database, ETIS, LEMIS, UNODC World WISE and TRAFFIC's portal hold records WildTrace will never match.
| You are | What WildTrace gives you |
|---|---|
| Investigative journalism | A searchable base of public seizures with every source link, and a link chart to find what connects them |
| Enforcement and customs analysis | Reported routes, transport modes, commodities and the agencies named, exportable as CSV, GraphML or JSON |
| NGOs and conservation programmes | A global picture with country and species filters, free to embed, fork or re-host |
| Researchers and students | A citable dataset with a DOI, an open method, and a classifier trained on a published labelled set |
| Policy and CITES work | Where trade in a listed species is being reported, and how strong that reporting is |
| Anyone with their own spreadsheet | Import CSV, Excel or JSON into the workbench and chart it against the public data, all in your browser |
New here? Watch the 2-minute guide (MP4). It is a real recording of the Atlas: ask a question, read the answer with its sources and limits, then check the evidence on the map.
Everything happens on one globe. The other surfaces float over it, so you can wander without losing your place.
| Surface | What it does |
|---|---|
| Globe | Cases by kind, a density glow, reported routes as arcs, observatories. Globe or flat, slow rotation, legend toggle |
| Flows | Where wildlife is taken, where it passes through and where it is seized, from 24,786 seized shipments reported to CITES and imports seized at US ports (LEMIS). You build the view: follow a species or a country, choose source and market countries, how many routes, which evidence (CITES seized, seized at US ports, declared legal trade, news routes), and colour lines by region, role or species. Every route can be switched off; a story sentence rewrites itself from what is on; the whole view lives in the link |
| Who supplies whom | A heatmap of source countries (or regions) against the countries that seized them, for plants, animals or both, with or without the United States; click a cell to draw it |
| Zoonoses | A separate lens: 2,116 WHO outbreak reports of animal-borne disease, grouped by how they reach people, with WildTrace cases as rings over them, and a table of the viruses confirmed in each traded species group (VIRION). A shared map, not a cause |
| Analysis | What the evidence shows on one sheet: cases per month, events, species, source or market, transport, CITES seizures per year |
Search (/) |
Cases, species, countries and observatories in one box |
| Pulse | A live summary of what is in view; every bar is a filter |
| Inspector | A written account of the case, then the documented facts, analytical context and limits of the evidence, with every source listed. Back, forward and a shareable link |
| Timeline | Cases per week. Drag to pick a period; ▶ glides through them in time order |
| Why this matters | A collapsible trivia box: the scale of the trade, each figure from a named report you can open, plus facts counted from WildTrace's own cases |
| Tour | A one-minute walkthrough that spotlights each part of the live interface. Runs once for a new reader, replayable from the Tour button |
| Table | Every case, sortable and filterable, with CSV download |
| Investigate | A link chart of cases, species, places and agencies, plus your own imported data |
| Network | The 33 observatories, databases and codebooks, each checked, with how WildTrace uses them |
| Methods and About | Pipeline, classifier, evidence definitions, coverage, licence and citation |
A case record keeps documented facts, analytical context and the limits of the evidence apart. Arrests are counts only; no person is named.
Investigate opens on the best-connected part of the network. Isolate, expand, find the shortest path between two entities, then export to PNG, GraphML, CSV or JSON.
Flows: you choose the species, countries, evidence and colours; every route can be switched off and has its evidence one click away. The whole view lives in the link.
Every route shows the records behind it: what was seized, when, who reported it and why it moved, the matching news cases, and how to check it in the CITES database.
Zoonoses: animal-borne outbreaks beside the trade, stated on every surface as a shared map, not a cause.
Every case as a table, sortable by any column, with the evidence grade beside it and "not mapped" stated rather than hidden.
Every case carries one status:
| Status | Meaning |
|---|---|
| Validated | A person checked it against its sources, recorded in validations.yaml with reviewer, date and note |
| Official | At least one report is a government, customs, police, prosecutor or court release |
| Corroborated | Two or more independent outlets report it |
| Single report | One outlet only: a lead, not a finding |
As of 29 September 2026: 194 official, 305 corroborated, 1,372 single report. Three in four cases still rest on one outlet, and 905 of 1,871 cases name no place at all. Those numbers are on the site, not buried here, because a map that hides them would be misleading.
Found a mistake? Use Report a correction on any case, which opens a pre-filled issue.
- Download:
cases.csv, one row per case, with status, place, species and source links. The JSON behind the map sits beside it inweb/data/. - More downloads:
cites_seized_flows.csv(origin, exporter, importer, seized shipments per species group),cites_declared_flows.csv,lemis_seized_flows.csv(imports seized at US ports per species group and origin, CC BY 4.0),online_gap.csv(ECO-SOLVE adverts against WildTrace cases per group and country; aggregated, with attribution),captive_claims.csv(commercial CITES exports declared captive-bred, per exporter and group, 2015-18 vs 2020-23; CITES terms),zoonotic_outbreak_reports.csv(2,116 WHO reports with disease, pathway and countries) andspecies_viruses.csv. - Licence: case data CC BY 4.0, code MIT.
flows.jsonis derived from the CITES Trade Database and shared under its terms (non-commercial, with attribution); the virus counts inzoonoses.jsoncome from VIRION under ODbL 1.0. - Coverage: 1,871 cases, 61 countries, 2,768 public reports, 2024-01-19 to 2026-09-28; 24,786 seized and 7 million declared CITES shipments since 2015; 2,116 zoonotic WHO outbreak reports.
Collection feeds the case pipeline; only privacy-checked data reaches web/data, and the Atlas
and the Investigate workbench read nothing else. CITES and WHO data enter as published aggregates.
flowchart TD
subgraph group_g_collect["Collection"]
node_cli["Pipeline CLI<br/>[cli.py]"]
node_collectors["Report collectors"]
node_literature["Literature miner<br/>[literature.py]"]
end
subgraph group_g_pipeline["Case pipeline"]
node_classifier["Relevance classifier<br/>[train.py]"]
node_event_extract["Event extraction<br/>[events.py]"]
node_place_extract["Place resolution<br/>[cases.py]"]
node_case_schema["Case model<br/>[schema.py]"]
node_privacy["Privacy checks<br/>[privacy.py]"]
end
subgraph group_g_publish["Public data"]
node_publisher["Data publisher<br/>[publish.py]"]
node_graph_builder["Link graph builder<br/>[build.py]"]
node_web_data[("Published atlas data")]
end
subgraph group_g_atlas["Atlas interface"]
node_app["Atlas application<br/>[main.js]"]
node_state["Atlas state<br/>[store.js]"]
node_globe["Globe map<br/>[globe.js]"]
node_inspector["Case inspector<br/>[inspector.js]"]
node_search["Unified search<br/>[search.js]"]
node_surfaces["Atlas surfaces"]
end
subgraph group_g_analysis["Analysis workbench"]
node_investigate["Investigate workbench<br/>[investigate.js]"]
node_local_data[("Imported local data")]
end
node_user(("Atlas user"))
node_public_sources(("Public reports"))
node_cites[("CITES trade data")]
node_who[("WHO reports")]
node_browser(("Browser reader"))
node_public_sources -->|"provide reports"| node_collectors
node_cli -->|"collect records"| node_collectors
node_cli -->|"mine literature"| node_literature
node_collectors -->|"supply records"| node_event_extract
node_literature -->|"supply records"| node_event_extract
node_cli -->|"score listings"| node_classifier
node_cli -->|"extract events"| node_event_extract
node_event_extract -->|"resolve locations"| node_place_extract
node_place_extract -->|"form cases"| node_case_schema
node_case_schema -->|"check public fields"| node_privacy
node_privacy -->|"authorize publication"| node_publisher
node_cites -.->|"published route data"| node_web_data
node_who -.->|"published outbreak data"| node_web_data
node_publisher -->|"write atlas data"| node_web_data
node_case_schema -->|"build entity links"| node_graph_builder
node_graph_builder -->|"export graph"| node_web_data
node_browser -->|"open atlas"| node_app
node_app -->|"load data"| node_web_data
node_app -->|"navigate and filter"| node_state
node_app -->|"render map"| node_globe
node_app -->|"show selected case"| node_inspector
node_app -->|"mount search"| node_search
node_app -->|"show analysis views"| node_surfaces
node_user -->|"open workbench"| node_investigate
node_app -->|"open investigation"| node_investigate
node_investigate -->|"read public graph"| node_web_data
node_user -->|"select spreadsheet"| node_local_data
node_investigate -->|"read in browser"| node_local_data
classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_collectors,node_literature,node_user,node_browser toneBlue
class node_classifier,node_event_extract,node_place_extract,node_case_schema,node_privacy,node_cites,node_who toneAmber
class node_publisher,node_graph_builder,node_web_data toneMint
class node_app,node_state,node_globe,node_inspector,node_search,node_surfaces toneRose
class node_investigate,node_local_data,node_public_sources toneIndigo
Architecture map generated by GitDiagram on 23 September 2026. The interactive version links each box to its source file.
A GitHub Actions workflow refreshes the site every day (03:17 UTC): new news reports, WHO outbreak reports and VIRION, then a rebuild and redeploy if anything changed. Government and court domains and GDELT are swept on Mondays. The collected records are kept in a private archive repository, because news feed terms allow publishing derived facts only; a build that would publish over 10% fewer cases than are live stops instead of shrinking the site. CITES flows follow the CITES release cycle and are refreshed once a year.
pip install -e ".[dev,video]"
wildtrace collect --official --gnews --countries ALL # official releases + global news
wildtrace collect --history 12 --no-gdelt # one-off: backfill 12 months
wildtrace build # cases, graph, CSV, site data (privacy gate)
wildtrace cites path/to/Trade_database_download_v2026.1 # yearly: CITES supply -> demand flows
wildtrace lemis data/raw/lemis --taxonomy path/to/codebook # US port seizures (LEMIS, CC BY)
wildtrace captive path/to/Trade_database_download_v2026.1 # yearly: captive-bred claims in CITES trade
wildtrace ecosolve data/raw/ecosolve/adverts-data.csv # ECO-SOLVE adverts vs WildTrace cases
wildtrace vision path/to/images # OCR + BioCLIP species evidence (pip install -e ".[vision]")
wildtrace zoonoses # weekly: VIRION + WHO outbreak reports
python scripts/make_og.py # redraw the share card with the new counts
python -m http.server -d web 8000 # open http://localhost:8000Optional: export WILDTRACE_WCS_OWT_DIR=/path/to/OWT trains the listing classifier on the OWT
labelled set. Other commands: gazetteer rebuilds the place index, codebook <zip> merges the
PMC8579131 names, cites <folder> loads the CITES Trade Database, lemis <folder> loads the
US LEMIS seizure records (Marshall et al. 2025, Zenodo 14982583; Eskew et al. 2020, Zenodo 3565869),
relabel merges classifier
corrections, doctor checks tools and sources.
collect ─► screen ─► extract ─► merge ─► link ─► publish
official, species × species, place, one case per entity–link privacy gate,
news, enforcement route, quantity, incident, across graph with static JSON
listings cues, minus arrests (count), languages and centrality and CSV
false cues agency, mode story days
- Screening rejects look-alikes: an ivory-smuggling film, "Kasturi" liquor, the Ivory Park township.
- Places come from the report. Hindi words such as कुशीनगर are transliterated and matched by consonant skeleton, and homonyms are settled by the country the text names. Google News links are not decoded, because its robots.txt forbids it.
- Merging keeps one incident as one case even when Hindi and English reports share no words.
- Sources are tiered by domain, so an official release is recognised as one.
docs/ARCHITECTURE.md has the data contracts and design choices.
The Atlas is an application; search engines and AI answer engines need text. Every build also
writes a plain HTML layer from the same data — a page per
species group, per
country and per case, all indexed from
browse.html — plus sitemap.xml, a robots.txt
that welcomes AI crawlers, and llms.txt, a plain-text
brief so an answer engine quoting the figures also carries the caveats. Each page states its numbers
in text, names its licence, links its sources, and repeats the line that matters: these counts show
where wildlife crime is reported, not where it happens.
News under-reports plants. wildtrace mine searches Europe PMC and OpenAlex for trade research and
extracts three things: species names (checked against the GBIF backbone, so a plant is recognisably a
plant), candidate trade names and code words (only from sentences where a paper says a name is used in
trade), and datasets other researchers have published. Nothing is merged automatically: the results
land in data/interim/*.csv for a person to accept or reject.
wildtrace mine --topics flora # or: codewords, fauna, datasets, all- 39 species groups, animals and plants: pangolin, ivory, rhino horn, tiger, leopard, jaguar, lion bone, African grey parrots, totoaba, glass eels, abalone, plus orchids, cacti and succulents, cycads, carnivorous plants, medicinal and aromatic plants, sandalwood, plant resins, wild bulbs, rosewood, agarwood and red sanders, in English, Hindi, Telugu, Portuguese, Spanish, French, Vietnamese, Thai and Indonesian/Malay, plus 2,376 names in 66 languages from the open seized-wildlife codebook (Stringham et al. 2021).
- 46,000 places: every town above 15,000 people worldwide, every town above 1,000 in South and Southeast Asia, every Indian district, key trafficking airports, and native-script names.
- Sources: 25 government, enforcement and judicial domains worldwide, 23 Google News editions with a month-by-month backfill, GDELT, and YouTube listings collected locally.
Trained on the OWT labelled set (1,274 labelled online listings), evaluated on a test set split by
seller channel. At the target of keeping 98% of trade listings it rejects about half of the
irrelevant ones. Contradictory labels, not the model, set the ceiling.
data/labels/README.md has the codebook and the relabel loop.
WildTrace never publishes a person's name, a phone number, an e-mail address or a seller identity; the build fails if one slips through, and CI checks again. Imported data stays in your browser's local storage and is never uploaded. There are no accounts, and fonts are self-hosted.
The site does measure how it is used, with Microsoft Clarity: clicks, scrolling and session
replays, which set cookies and send data to Microsoft. The search box and the whole panel that
renders imported files are marked data-clarity-mask, so a typed query and anyone's own
spreadsheet never reach a replay; advertising storage is denied; and Clarity is skipped entirely
for browsers sending a Global Privacy Control signal. Remove data-clarity from
web/index.html in a fork and nothing loads.
See docs/ETHICS_PRIVACY.md and Microsoft's
privacy statement.
Ideas, not promises. Discuss them in Issues.
- Court judgments and prosecution outcomes (SHERLOC, Indian Kanoon)
- More history: backfill beyond 12 months, and official archives before 2024
- More validated cases, and a published reviewer log
- Better placement of country-only cases
- Seizure quantities normalised to comparable units
- A shareable saved view (filters and period in one link)
- Three in four cases rest on a single report, and 905 of 1,871 name no place.
- Measured precision is 96.5% (target 98%, not yet reached); recall is not measured. See docs/ACCURACY.md.
- Platform names come from headlines only for Google News records: Google's robots.txt forbids fetching its article links, and WildTrace respects that.
- Image evidence (
wildtrace vision) runs locally on images you supply; the daily build does not yet collect images. - Coverage is thinner before late 2025, and reporting is uneven between countries and languages, so the map reflects newsrooms and government sites as much as the trade.
- Only two cases so far state a route, because reports rarely name origin and destination.
- Google News links are not decoded, so some sources show the aggregator rather than the outlet.
If WildTrace helps your work, please cite it. Use the Cite this repository button
(it reads CITATION.cff) or copy one of these.
APA 7
Verma, T. K. (2026). WildTrace: the open atlas of illegal wildlife trade (Version 1.11.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.22902819
BibTeX
@software{verma_wildtrace_2026,
author = {Verma, Tarun Kumar},
title = {WildTrace: the open atlas of illegal wildlife trade},
year = {2026},
version = {1.11.0},
doi = {10.5281/zenodo.22902819},
url = {https://github.com/tarunv13/wildtrace},
license = {MIT}
}The concept DOI 10.5281/zenodo.22902819 always resolves to the latest version. To cite the exact data you used, cite its version DOI:
| Version | Date | What it added | DOI |
|---|---|---|---|
| 1.11.0 | 2026-09-29 | ask a question, measured accuracy (95.5% in a blind audit), event gate, new brand; 1,871 cases | 10.5281/zenodo.23034475 |
| 1.10.0 | 2026-09-29 | ECO-SOLVE comparison, ambiguous words, image evidence, Thai, amphibians | 10.5281/zenodo.23033058 |
| 1.9.0 | 2026-09-29 | caught online, captive-bred claims, 2,126 cases | 10.5281/zenodo.23025869 |
| 1.8.0 | 2026-09-29 | Risk pathways, research agenda | 10.5281/zenodo.23024232 |
| 1.7.0 | 2026-09-28 | US port seizures (LEMIS) | 10.5281/zenodo.23023112 |
| 1.6.2 | 2026-09-23 | video guide | 10.5281/zenodo.22923626 |
| 1.6.1 | 2026-09-23 | satellite view | 10.5281/zenodo.22922540 |
| 1.6.0 | 2026-09-23 | route evidence, icons | 10.5281/zenodo.22921009 |
| 1.5.0 | 2026-09-23 | Flows, Zoonoses, Analysis | 10.5281/zenodo.22913379 |
Brand, colours and mark: docs/BRAND.md. Supporting the project: docs/FUNDING.md.
Please also cite the data WildTrace builds on when you use those layers: the CITES Trade Database (UNEP-WCMC), Marshall et al. 2025 and Eskew et al. 2020 (LEMIS), Carlson et al. 2022 (VIRION), Stringham et al. 2021 (seized-wildlife codebook) and ECO-SOLVE (Global Initiative Against Transnational Organized Crime).
pipeline/wildtrace/ collectors, classifier, extraction, graph, publishing (CLI: wildtrace)
web/ the portal: index.html, css/, js/, data/
docs/ ARCHITECTURE, ETHICS_PRIVACY, OBSERVATORIES, screenshots
.github/workflows/ tests + privacy gate; weekly refresh; Pages deploy
Code MIT; data CC BY 4.0. Places: GeoNames (CC BY 4.0). Names codebook: Stringham et al. 2021 (CC BY 4.0). News index: GDELT. Basemap: OpenFreeMap / OpenStreetMap contributors. Motion vocabulary adapted from OpenHiggsfield. Inspired by WCS Brasil's Global Wildlife Trafficking Observatory, C4ADS, TRAFFIC, #WildEye and i2 Analyst's Notebook.