CITES Trade Database: Intelligence Source Guide
The CITES Trade Database holds the official record of international trade in protected species back to 1975, compiled from the annual reports Parties submit to the Convention. It is a record of legal trade, and its single most valuable analytical property is that importers and exporters report th…
The CITES Trade Database holds the official record of international trade in protected species back to 1975, compiled from the annual reports Parties submit to the Convention. It is a record of legal trade, and its single most valuable analytical property is that importers and exporters report the same shipments differently.
At a glance
| Source | CITES Trade Database |
|---|---|
| Category | Conflict, Crime & Human Security › Environmental & Wildlife Crime |
| Homepage | https://trade.cites.org/ |
| Machine interface | https://api.speciesplus.net/api/v1/taxon_concepts |
| Format | JSON |
| Access | Free registration — API key at no cost |
| Disciplines | Environmental Intelligence, Open Source Intelligence |
| Mission domains | Wildlife Trafficking |
International protected-species trade records. — as catalogued in the platform’s own source registry.
The database is developed and maintained by UNEP-WCMC on behalf of the CITES Secretariat and published at trade.cites.org. Each record describes a reported transaction in a taxon listed on one of the Convention's three Appendices: year, taxon, Appendix, importing and exporting country or territory, the country of origin where the shipment is a re-export, the term traded (live animals, skins, bodies, carvings, timber, derivatives and a long controlled vocabulary of others), a quantity with a unit, a purpose code, a source code, and which Party reported it. Purpose codes distinguish commercial trade from scientific, zoological, hunting trophy, personal, breeding, law enforcement and other uses. Source codes distinguish wild-taken specimens from captive-bred, ranched, artificially propagated, confiscated and several intermediate categories, and this field carries more analytical weight than any other in the record. The public interface allows filtered queries by year range, exporter, importer, source, purpose, term and taxon, with a one million row limit on any download and a strong recommendation to constrain the year span. A full database dump is published as a versioned download; at the time of writing the current version is 2026.1. Separately, the Species+ API at api.speciesplus.net serves the taxonomic and legislative layer, including current Appendix listings, reservations, quotas, suspensions, EU annex listings and distributions, keyed on taxon concept identifiers and requiring a free authentication token.
Every other wildlife source tells you about seizures, which is to say about enforcement activity. This one tells you about the permitted trade, and that is a fundamentally different and more revealing instrument. Illegal trade hides inside and alongside legal trade: laundered wild-caught animals declared as captive-bred, permits issued against inflated quotas, re-exports that launder origin, and shipments declared as one term to attract a lower level of scrutiny. All of those leave traces in this database rather than in seizure statistics, because the whole point of the fraud is to obtain paperwork. Because both the importing and the exporting Party report the same transaction independently, the database contains a natural control: systematic discrepancies between the two sides of a trade route are the standard analytical signal in this field, and they have repeatedly identified real laundering. For ENVINT work this is the primary collection route, and for financial crime and organised crime work it links commodity flows to named jurisdictions, quantities and years in a way that supports pattern analysis at a scale no seizure dataset can reach. It is not a database of crime. It is the database in which certain crimes are visible as anomalies in the paperwork.
Who publishes it, and why that matters
CITES is a treaty with over 180 Parties, administered by a Secretariat and served by a scientific and technical partner, UNEP-WCMC, which builds and maintains the database on the Secretariat's behalf. The content is entirely dependent on Parties submitting annual reports, and the incentives around those submissions are worth understanding. A Party's report is a statement of its own compliance record, produced by a management authority whose capacity varies enormously and whose government may have an interest in how the numbers look. Reports are frequently late, occasionally not submitted at all, and inconsistent in whether they record permits issued or trade that actually took place, which is the single most consequential methodological variation in the dataset. The Convention's own compliance machinery treats persistent failure to report as a matter for the Standing Committee, which means reporting behaviour is itself a monitored political question. Access is free and unrestricted, with no registration for the trade database and a free token for the Species+ API, and the guidance document published alongside the database is unusually candid about the interpretive problems. Read that guidance before the data.
Provenance is the first question to ask of any dataset and the one most often skipped. Who collects it, what their incentive is, whether they publish a methodology, and whether they correct the record when they get something wrong all bear directly on how much weight a finding drawn from it can carry.
What a record actually contains
The fields you will be working with, what each one means, and whether it is something you can pivot on. Read the meanings carefully — more analysis is wrecked by misreading a field than by failing to find one, and a field that looks like an observation is often an inference.
| Field | Type | What it means | Pivot value |
|---|---|---|---|
Year |
int | The reporting year of the transaction. Whether it reflects the year the permit was issued or the year the shipment moved depends on the reporting Party's practice, which is why the same trade can appear in different years on the two sides. | Time series alignment; comparison with quota publication dates; seizure chronologies. |
Appendix |
enum | I, II or III, indicating the level of protection at the time of the trade. Appendix III listings are made by individual Parties and apply differently, so an Appendix III record does not imply global regulation of the taxon. | Species+ listing history; national implementing legislation; permit requirements. |
Taxon |
string | The scientific name as reported, alongside class, order, family and genus. Taxonomy changes: species are split, merged and renamed, and a long time series for one taxon may not refer to a consistent biological unit. | Species+ taxon concept identifiers; IUCN Red List status; distribution range states. |
Importer / Exporter |
string | The two Parties or territories to the transaction, in two-letter codes. Both may report the same shipment, and the database preserves both reports rather than reconciling them. | Country dashboards; trade route analysis; the exporter and importer sides of the comparative tabulation. |
Origin |
string | The country where the specimen was taken from the wild or bred, populated when the shipment is a re-export. Its absence on a re-export, or its inconsistency across a chain, is one of the more informative anomalies in the dataset. | Range state verification; laundering analysis; transit hub identification. |
Term |
string | What was actually traded: live, bodies, skins, skin pieces, carvings, plates, scales, timber, extract, derivatives and dozens more. Term determines the unit and the biological interpretation, and inconsistent term use across Parties makes naive aggregation meaningless. | Customs tariff codes; conversion factors to individual animals; commodity market analysis. |
Quantity / Unit |
int | The reported amount and its unit, which may be a count, a weight in kilograms, a volume in cubic metres, a length or a blank meaning number of specimens. Summing quantities across mixed units is the classic beginner error. | Quota comparison; conversion to biological equivalents; economic valuation. |
Purpose |
enum | Commercial, breeding, educational, botanical garden, hunting trophy, law enforcement, medical, reintroduction, personal, circus, scientific or zoo. Purpose shapes permit requirements and is a common site of misdeclaration, particularly personal and scientific claims on commercial shipments. | Permit requirement analysis; anomaly detection; the enforcement record for the route. |
Source |
enum | Wild, ranched, bred in captivity, artificially propagated, born in captivity, confiscated or seized, taken from the marine environment outside national jurisdiction, unknown, and the Appendix I commercial captive-breeding category. This is the field where laundering appears. | Captive breeding facility registers; national inspection reports; scientific studies of breeding feasibility. |
Reporter type |
enum | Whether the row comes from the importer's or the exporter's annual report. Comparative analysis is impossible without it, and the database's comparative tabulation output exists specifically to expose the two sides. | Mirror statistics; discrepancy analysis; identification of non-reporting Parties. |
taxon_concept_id |
int | In the Species+ API, the stable identifier for a taxonomic concept, which is the key to listings, quotas, suspensions, distributions and EU annexes. Names change; concept identifiers are the reliable join. | CITES legislation resource; EU legislation resource; distribution and range state data. |
cites_quotas / cites_suspensions |
array | Published export quotas and trade suspensions by taxon and geography, exposed through Species+ with effective dates and current-status flags. Trade recorded above a quota, or during a suspension, is an immediate and checkable anomaly. | Notifications to the Parties; Standing Committee decisions; national enforcement action. |
Coverage — and what is not in it
Global, from 1975 to the most recent reporting year, covering only taxa listed in the CITES Appendices, which is a small and specific subset of biodiversity chosen through a political process rather than by ecological importance. Within that scope the database is comprehensive in intent: every Party is required to report annually on its trade in listed species, and the aggregate is very large, spanning millions of records across five decades. Coverage in practice is uneven along three axes. Temporal: reporting is late and incomplete for the most recent years, so the last two or three years in the data are always partial and comparisons involving them are misleading. Geographic: Parties with weak management authorities submit thin or irregular reports, and a handful submit none for periods at a time. Structural: the database records reported legal trade, so illegal trade appears only where it was declared, confiscated and recorded under the seizure source code, or inferred from discrepancies. The public query interface enforces a one million row limit and advises constraining year ranges, and the full versioned dump is the route for anyone working at scale. Species+ covers the taxonomic and legal layer continuously, with effective dates on listing changes.
Known blind spots
Absence of evidence here is not evidence of absence. These are the conditions under which CITES Trade Database will not show you something that is nevertheless real:
- Illegal trade is absent by construction. This records what was permitted and declared; smuggled shipments that were never declared and never seized leave no trace at all, and treating the database as a measure of wildlife crime inverts what it is.
- Species not listed on the Appendices are invisible, however threatened. Listing is a negotiated political decision, so commercially exploited species that Parties declined to list generate no records regardless of the volume moving.
- The last few years are always incomplete. Annual reports arrive late and some do not arrive at all, so any analysis that includes the most recent reporting years will show a decline that is a reporting artefact rather than a market change.
- Some Parties report permits issued rather than trade that occurred. Permits are frequently not used, or are used partially, so a figure from such a Party is an upper bound on activity rather than a measurement of it, and the database does not always flag which convention was followed.
- Terms and units are inconsistent across Parties and across time. The same commodity may be recorded as bodies by one Party and as kilograms by another, so aggregation without conversion produces totals that are not quantities of anything.
- Taxonomy shifts underneath the time series. Splits, merges and renaming mean a species name in 1990 and the same name in 2020 may not denote the same biological unit, and analyses spanning decades need the taxonomic history rather than the name.
- Appendix III listings are made by individual Parties and apply asymmetrically, so records for an Appendix III taxon reflect one country's regulation and cannot be read as a global control on the species.
- Re-export chains obscure origin. Where origin is not reported or is reported inconsistently along a chain, the ultimate source of a specimen becomes unrecoverable from this data alone, which is precisely the effect a laundering operation is seeking.
- There is no seizure or enforcement data here. The Convention's illegal trade reporting is a separate stream, and mixing the two without saying so produces claims about crime built on a record of legality.
Write the blind spot into the product. A statement that something “was not observed in CITES Trade Database” is defensible; a statement that it “did not happen” is not, and the difference is what survives cross-examination.
Access, licensing and what you may do with it
Access model: Free registration — an account or API key, at no cost
Everything is free. The trade database at trade.cites.org offers a filtered web query with selectors for year range, exporters, importers, sources, purposes, terms and taxon, returning either a comparative tabulation showing both reported sides or gross and net trade summaries, with a one million row cap and a recommendation to keep the year span to about five years. A full versioned database download is published for anyone needing the complete record, and this is the correct route for systematic analysis; the interface names the current version explicitly. The guidance document, a PDF linked from the front page and available in English only, explains the reporting conventions and the interpretive traps, and it is genuinely necessary reading rather than an optional extra. For the taxonomic and legal layer, Species+ provides both a web interface and a REST API at api.speciesplus.net requiring a free authentication token supplied in a request header, with resources for taxon concepts, CITES legislation including listings, quotas and suspensions, EU legislation, distributions, references and a whole-database download link. The CITES Wildlife TradeView tool offers prepared visual summaries for users who want the shape of a trade before extracting the data.
Licence
The data is published by UNEP-WCMC on behalf of the CITES Secretariat for public use, and the practical expectation is citation of the CITES Trade Database with the version and the date of extraction, and of Species+ separately where the taxonomic and legislative layer is used. Terms of use are published alongside the services and should be checked before any commercial redistribution, since intergovernmental data services commonly distinguish public interest reuse from commercial exploitation and reserve institutional names and emblems. The obligation that matters analytically is different: because the interpretive pitfalls are severe and well documented, publishing figures from this database without the accompanying caveats about reporting conventions, units and completeness is a misuse that the guidance document explicitly warns against, and reviewers in this field will notice.
Rate limits and fair use
The web interface enforces its own limits rather than publishing a quota: queries returning more than a million records are refused, and users are advised to constrain the year range and to select at least one importer, exporter or taxon. The correct pattern for any serious work is to take the full versioned download once and query it locally, which removes the constraint entirely and gives you a fixed, citable snapshot. The Species+ API requires a free token and should be used politely: cache taxon concept identifiers and listing histories, which change slowly, rather than re-querying them per record, and use the whole-database download resource where you need the full taxonomy rather than paging through it. Both services are supported by an intergovernmental organisation and a conservation research centre with finite resources, and the etiquette is the same as for any public good.
Licensing changes, and it changes without warning. A dataset that was free for research this year may not be free for commercial or evidential use next year. Confirm the current terms before you build a dependency on it, and record the terms you relied on alongside the data — the licence in force at the time of collection is part of the provenance.
Collecting it
How CITES Trade Database is actually pulled, in the order you would set it up. Prefer the bulk or export interface over per-item lookups wherever one exists: it is kinder to the publisher, faster for you, and gives a reproducible snapshot rather than a series of point-in-time answers you cannot reconstruct later.
| Method | Format | Cadence | Notes |
|---|---|---|---|
| Full database download | bulk | with each published version | The route for any systematic analysis. Versioned, complete and citable, and it frees you from the row limit and the year-span guidance that constrain the web interface. |
| Filtered web query | CSV | on demand | Good for a single taxon, route or period. Choose between the comparative tabulation, which preserves both reported sides, and the gross or net summaries, which do not. |
| Species+ API | JSON | on listing changes; cache aggressively | Taxon concepts, CITES and EU listings, quotas, suspensions and distributions, keyed on stable identifiers. Requires a free token in a request header. |
| Species+ whole-database download | bulk | occasional | A single resource returning a link to the latest bulk download of the full CITES and EU taxonomy, which is the sane way to hold the taxonomic layer locally. |
| TradeView summaries | HTML | as updated | Prepared visual summaries of trade by species, country and commodity. Useful for orientation and for briefing non-specialists before any extraction. |
| Guidance document | bulk | once, then on revision | The interpretive manual published alongside the database. Not a collection method as such, but no extract from this source should be analysed by anyone who has not read it. |
Ingesting it into the platform
Every step below is idempotent and cursor-based: interrupt one and it resumes from where it stopped rather than duplicating rows or losing progress. Collection is recorded per source, so a feed that quietly stops publishing shows up as a stale timestamp instead of silently thinning your coverage.
- Register the two layers separately — In sources.php, record the trade database and Species+ as distinct sources with different cadences and different auth requirements. They are produced by the same organisation for different purposes, and conflating them at registration hides the token requirement on one of them.
- Ingest the versioned dump, not the interface — Load the full versioned download through import.php with the version string recorded as part of the source identity. Web-interface extracts are convenient and unreproducible; a versioned dump is citable and can be diffed.
- Preserve reporter type as a first-class dimension — During ingest, keep importer-reported and exporter-reported rows distinct and never merge them. The comparison between the two sides is the analytical value of this dataset, and a pipeline that reconciles them at load has destroyed it.
- Normalise terms and units without discarding the originals — Build a conversion layer that maps terms and units to comparable measures, and store both the original and the normalised values. Every conversion embeds an assumption, and an analyst must be able to see and challenge it.
- Resolve taxonomy through Species+ identifiers — Use resolve-everything.php to attach taxon concept identifiers, current Appendix listings with their effective dates, quotas and suspensions to each record, so that a trade can be evaluated against the legal regime that applied at the time rather than the one applying now.
- Compute discrepancies as derived records — Run correlate.php to generate importer-versus-exporter comparisons per route, taxon, term and year, and store the discrepancies as their own analysable objects. This is the step that turns a compliance archive into an intelligence dataset.
- Bind to country and route entities — Resolve exporters, importers and origins to the platform's country entities so trade appears on country.php and country-risk.php beside sanctions, corruption and enforcement indicators, and so routes can be examined alongside other illicit flows.
- Flag structural anomalies as alerts, not conclusions — Configure alert rules for trade recorded during a suspension, volumes exceeding a published quota, source codes implausible for the taxon, and origin fields missing on re-exports. Each should raise a question for an analyst, never an automated assertion of wrongdoing.
Registered sources and their last-collected state are listed in sources.php, and the scheduled chain that keeps them current is in automation.php.
How it is wrong, and how to tell
Every dataset is wrong in characteristic ways. Knowing which ways is the difference between using a source and being used by one, and it is the part of source evaluation most often skipped because it is the part that takes work.
As an administrative record of a treaty's operation, the database is thorough, long-running and openly documented, and the organisation that maintains it publishes an unusually frank guide to its own limitations. That guide is the correct basis for judging quality: it exists because the data is genuinely hard to interpret, not because the compilers are careless. The reliability of any individual figure comes down to the reporting Party, and varies from meticulous to absent. Structural inconsistencies dominate: permits issued versus trade effected, unit and term conventions, timing of when a transaction is attributed to a year, and the treatment of re-exports. None of these are errors in the compilation; they are variations in national practice faithfully recorded. The consequence is that this dataset rewards careful, narrow analysis of a defined taxon and route and punishes broad aggregation. The importer-exporter comparison is the most reliable analytical instrument available in it, precisely because it does not require you to trust either side: a persistent, directional discrepancy on a route is informative whichever Party is wrong.
Characteristic false positives
- Quantities are summed across mixed units. A column containing counts, kilograms and cubic metres adds to a number that measures nothing, and this happens in published work often enough that reviewers in the field check for it first.
- Recent years are read as a decline. Annual reports arrive late, so the newest years in any extract are structurally incomplete and will show falling trade that reflects the reporting calendar rather than the market.
- A permit-issuing Party's figures are read as trade. Where a Party reports permits rather than shipments, the numbers are an upper bound that includes permits never used, and comparing them against a counterpart reporting actual trade produces a discrepancy that means nothing.
- Captive-bred source codes are accepted at face value. Declaring wild-caught specimens as captive-bred is the standard laundering method for live animals, and a source code is an assertion on a permit application, not a verified fact about the animal.
- Discrepancies are read as evidence of crime. Mismatches between importer and exporter reports arise routinely from timing differences, unit conversions, partial shipments and re-export handling, and only a persistent, directional, otherwise unexplained pattern is worth investigating.
- Taxonomic name matching merges or splits species. A name that has been reassigned, split or synonymised produces a time series about a shifting biological entity, and joins on name rather than concept identifier silently combine unrelated taxa.
- Re-exports are counted as new extraction. A specimen re-exported through several countries appears in several records, and totalling them counts the same animal or plant repeatedly, inflating apparent volumes on transit routes.
- Appendix III records are treated as global controls. An Appendix III listing is one Party's unilateral action, and reading records for such a taxon as evidence of internationally agreed regulation misstates the legal position.
None of these make the source unusable. They make it a source that requires corroboration before an assertion built on it goes into a product, which is true of every source and admitted by few.
Ageing
The historical record is stable and improves with time rather than decaying, because late annual reports fill in earlier years and corrections are incorporated. That is the opposite of most sources in this catalogue and it has a specific consequence: an extract you took two years ago for a period ten years ago may now be materially incomplete relative to the current version, because reports arrived in the meantime. Re-extract rather than reusing an old pull for any published work. What ages badly is the recent end of the series, which is always provisional, and the legal layer, which moves continuously: Appendix listings change at each Conference of the Parties, quotas are published annually, and suspensions are imposed and lifted between meetings, so an analysis evaluating a trade against listing status must use the status that applied at the time of the trade rather than today's. A stale record here looks like a trade assessed against a current Appendix listing that did not exist when the shipment moved, or a trend chart whose final years are an artefact of the reporting calendar.
What this source feeds
A source is only worth what it lets you conclude. These are the disciplines that collect through it, the mission domains it serves and the data points it yields — every one is a tag, so you can follow any thread from here into the rest of the library.
Collected by these intelligence disciplines
Serves these mission domains
Yields these data points
How each sector uses CITES Trade Database
The same dataset is worked very differently depending on who you are, what authority you hold, and what you are ultimately producing. A military analyst is supporting a commander’s decision; a journalist is meeting a publication standard; an NGO caseworker is protecting a person. The records are shared — the constraints, thresholds and outputs are not.
🎖 Military and defence
Peripheral to most military tasks and genuinely relevant to a few. Wildlife trafficking finances armed groups in several theatres and shares logistics with other illicit flows, so the trade record for a region can support an understanding of the licit commerce that illicit movement hides inside. In stabilisation and security force assistance contexts, it also indicates which commodities generate revenue and which border crossings and ports matter economically. The limits are severe for operational use: the data is annual, lagging by years, and describes declared trade at national level with no route, consignment or actor detail. Treat it as background economics rather than as targeting or interdiction support, and use current enforcement reporting for anything operational.
🕵 National intelligence
The most productive intelligence use is discrepancy analysis at scale. Because two Parties report the same transactions independently, a systematic directional mismatch on a route and taxon is a durable signal that survives the absence of any single reliable source, and it points at either a reporting failure or a laundering mechanism, both of which are worth knowing. The source codes carry the second signal: declared captive breeding of species that do not breed readily in captivity, at volumes exceeding known facility capacity, is a well-established indicator. Combine with corporate, shipping and financial data to move from commodity flow to network, and treat the Convention's own compliance record, including suspensions and Standing Committee actions, as an authoritative overlay on which jurisdictions are already known to be problems.
👮 Law enforcement
For wildlife crime investigators this is the reference dataset for establishing what a permit regime should have produced, which is the baseline any fraud is measured against. Concretely: verify whether a claimed permit is consistent with the reported trade, whether volumes exceed the published quota, whether trade occurred during a suspension, and whether the declared source is plausible for the taxon and the facility. It supports charging decisions on documentary fraud and provides context for sentencing. It is not evidence of a specific shipment and should not be presented as such; the evidence is the permit, the consignment and the physical specimen. Wildlife crime frequently co-occurs with document fraud, money laundering and corruption, and the trade record is the entry point to those parallel lines rather than the case itself.
🔍 Private investigation and corporate security
For corporate due diligence in luxury goods, timber, fisheries, traditional medicine, pets and fashion supply chains, this is the authoritative check on whether a counterparty's claimed trade is consistent with the official record. The practical questions are whether the country pair and volumes the client is being told about appear in the reported data at all, whether the declared source code is credible, and whether the exporting jurisdiction is subject to a suspension. Because supply chains are long and re-exports obscure origin, a clean-looking import record from a transit country is a weak assurance, and tracing to the range state is the work that matters. Reputational exposure in this area is high and moves faster than legal exposure.
📰 Journalism and OSINT media
This is one of the few large public datasets in the environmental crime space that supports original quantitative reporting, and the importer-exporter comparison is a genuinely publishable finding when it is done carefully. Three disciplines separate solid stories from the ones that get corrected: never sum across units, never include the most recent reporting years in a trend without explaining that they are incomplete, and never describe a discrepancy as evidence of smuggling without excluding the ordinary reporting explanations first. The database's own guidance document names these traps explicitly, and a journalist who has read it can produce work that survives scrutiny from an industry that will push back hard.
🌍 NGO, humanitarian and human rights
Conservation and environmental crime organisations are the heaviest users, and their strongest use is longitudinal: showing what happened to reported trade after a listing, a quota change or a suspension, which is the evidence base for advocacy at the Conference of the Parties. The source code analysis is the second pillar, since implausible captive breeding claims have driven a number of successful listing and enforcement campaigns. Two disciplines matter for credibility. Present the reporting caveats yourself rather than letting an opponent present them, because in this field they will. And distinguish clearly between reported legal trade and estimated illegal trade, since conflating them is the criticism most often and most fairly levelled at advocacy work using this data.
🎓 University and research
A five-decade global panel of a regulated commodity trade, with independent reporting from both sides of each transaction, is a rare research asset and supports work in conservation science, environmental economics, criminology and international law. The methodological requirements are well established and non-negotiable: read the guidance document, use taxon concept identifiers rather than names, handle units and terms with an explicit conversion layer, exclude or model the incomplete recent years, and treat the two reporter types as separate observations of one event rather than as duplicates. The database's version numbering supports reproducibility if you cite the version and extraction date, and Species+ supplies the listing histories needed to evaluate trade against the law as it stood.
Playbook: working CITES Trade Database end to end
A repeatable sequence from first pull to finished product. Each phase states what you are trying to establish, not merely what to click — the objective is a defensible chain of reasoning, not a completed checklist.
Phase 1 — Read the guidance document first
UNEP-WCMC publishes a guide to using the database precisely because the data is easy to misread, and it is linked from the front page. It covers reporting conventions, the permits-versus-trade distinction, units and re-exports. An analyst who skips it will make at least two of the errors it warns about, and reviewers in this field will identify both.
Phase 2 — Define the commodity question precisely
Fix the taxon, the term, the source, the purpose and the route before extracting. A question phrased as trade in a species has no single answer, because live animals, skins, carvings and derivatives are different commodities with different units and different fraud patterns. Write the specification down.
Phase 3 — Take the versioned bulk download
Work locally from the full versioned dump rather than through repeated interface queries. It removes the row limit, gives you a fixed and citable snapshot, and lets you re-run an analysis identically when someone challenges it a year later.
Phase 4 — Establish the legal regime that applied at the time
Use Species+ to retrieve the Appendix listing history, quotas and suspensions for the taxon with their effective dates. A shipment must be assessed against the rules in force when it moved, and evaluating a 2005 trade against a 2024 listing is a category error that produces confident wrong findings.
Phase 5 — Build the unit and term conversion layer explicitly
Decide how counts, weights, volumes and lengths will be reconciled, document the conversion factors and their source, and keep the original values alongside. Every conversion is an assumption, and a defensible analysis is one where the reader can see and disagree with each of them.
Phase 6 — Run the comparative tabulation as the core analysis
Extract both reported sides for your route and taxon and compare them year by year. This is what the dataset is uniquely able to support, and it is where the informative anomalies live. The output is a discrepancy series, not a trade total.
Phase 7 — Exclude the ordinary explanations before alleging anything
Timing differences at year boundaries, partial shipments, unit conversions, re-export handling and one Party reporting permits rather than trade all generate discrepancies. Work through each and eliminate it in writing. Only a persistent, directional, otherwise unexplained pattern is worth escalating.
Phase 8 — Interrogate the source codes for plausibility
Compare declared captive-bred and ranched volumes against what is biologically and industrially plausible for the taxon, and against known facility registrations in the exporting country. Species that breed poorly in captivity appearing in commercial captive-bred quantities is the classic laundering signature and it is checkable against the scientific literature.
Phase 9 — Trace re-export chains back towards the range state
Follow origin fields across records to reconstruct the path from range state to final market, and treat missing or inconsistent origin on a re-export as a finding. A clean import record from a transit country is one of the weakest assurances in this dataset.
Phase 10 — Test against quotas, suspensions and enforcement history
Check reported volumes against published export quotas and check whether any trade occurred during a suspension. These are bright-line, documented tests that produce findings a non-specialist decision maker can act on, and they connect directly to the Convention's own compliance machinery.
Phase 11 — Corroborate with independent sources before publishing
Take the finding to seizure reporting, specialist NGO investigations, market surveys, customs data and the scientific literature on the taxon. A discrepancy in reported paperwork is a hypothesis; it becomes a finding when independent evidence of the trade, the facility or the network supports it.
Phase 12 — Publish the caveats alongside the number
State the version and extraction date, the years excluded as incomplete, the unit conventions applied, and that the dataset records reported legal trade rather than illegal trade. This paragraph is what separates work that shapes policy from work that gets rebutted at the next Conference of the Parties.
The platform ships this as a step-checked workflow in playbooks.php, so progress is recorded against a case rather than held in someone’s head.
What to pair it with
No single source carries a finding. These are the datasets that corroborate, extend or contradict this one — and a source that contradicts is worth more than one that agrees, because it is the only thing that will tell you when you are wrong.
| Source | Relationship | What it adds |
|---|---|---|
| Species+ | prerequisite | The taxonomic and legislative layer: Appendix listings with effective dates, reservations, quotas, suspensions, EU annexes and distributions, keyed on stable taxon concept identifiers. |
| CITES Wildlife TradeView | extends | Prepared visual summaries of the same data by species, country and commodity. The right tool for orientation and for briefing decision makers before any extraction. |
| CITES checklist of species | prerequisite | The authoritative list of species covered by the Convention, which is the starting point for establishing whether a taxon is in scope at all. |
| UNEP-WCMC | prerequisite | The organisation that builds and maintains the database on the Secretariat's behalf, and the publisher of the methodological guidance that governs interpretation. |
| TRAFFIC | corroborates | The specialist wildlife trade monitoring network, whose market surveys, seizure analysis and species-specific reporting provide the independent evidence a paper discrepancy needs. |
| Environmental Investigation Agency | corroborates | Field investigations into trafficking networks, timber and wildlife supply chains, which supply the actor-level detail this dataset structurally lacks. |
| UNODC wildlife crime analysis | extends | Seizure-based analysis of illegal wildlife trade, which is the enforcement counterpart to this record of legal trade and the correct source for any claim about crime volumes. |
| World Customs Organization | extends | Customs classification, risk management and joint enforcement operations, and the bridge between species-level trade records and commodity codes at a border. |
| UN Comtrade | corroborates | General international merchandise trade statistics, useful for placing a wildlife commodity flow in the context of the wider trade between the same country pair. |
Legal, ethical and operational constraints
The data is public and contains no personal information, so the constraints are analytical and reputational rather than privacy-based, with two exceptions worth stating. First, an inference from this data that a named company, facility or official is laundering wildlife is a serious allegation, and the underlying evidence is a discrepancy in national reporting that may have a mundane explanation; publishing such an inference without excluding the ordinary causes and obtaining independent corroboration invites defamation exposure and, more importantly, discredits the technique. Second, findings that identify specific facilities, populations or locations of highly threatened species can direct poachers to them, and this is a real and documented harm rather than a theoretical one; suppress location detail for sensitive taxa and take advice from the relevant conservation authority before publishing anything at population level. Beyond that, use of the data in enforcement contexts should respect the boundary between an administrative record and evidence: the trade database establishes what was reported, and the permits, consignments and specimens establish what happened.
Operational security
Queries against the public interface and the API are low exposure, carrying only source address, timing and the taxa and countries you asked about; the user population is large and dominated by researchers and conservation organisations, so the signal is weak. The exposure that matters is elsewhere. Enquiries directed at exporters, breeding facilities, permit authorities or traders will be understood as interest, and in this sector such interest reaches the subject quickly and can result in records being adjusted, facilities being cleaned up or a route being changed. Where an investigation is live, work from the bulk download rather than making enquiries, and coordinate with the relevant national enforcement body before any approach. Publication carries its own operational consequence: a public finding about a route or a facility reliably produces adaptation rather than cessation, so consider whether the finding should go to enforcement authorities before it goes to print, and be clear which outcome you are actually seeking.
Two rules that hold regardless of jurisdiction. Collection that is lawful is not automatically proportionate, and a dataset assembled for one purpose does not carry consent for another. Where the records concern identifiable people, the question is not only whether you may hold the data but whether holding it serves the purpose you are accountable for.
Is it earning its place?
Sources accumulate. Feeds get added during an incident and are never reviewed again, and a decade later the pipeline is carrying dead weight that nobody dares remove. These are the measures that show whether CITES Trade Database is contributing anything, and they are worth baselining now so the answer is available later.
- Proportion of your analyses that use the comparative tabulation with both reported sides preserved, rather than a single-side total, which is the direct measure of whether you are using the dataset's distinctive property.
- Number of route and taxon combinations with a persistent directional discrepancy over three or more years, maintained as a standing watch list rather than rediscovered per project.
- Share of extracts in which the most recent reporting years were explicitly excluded or flagged as incomplete.
- Count of records where the declared source code is implausible for the taxon given known captive breeding feasibility, tracked as a running anomaly measure.
- Number of trades identified as occurring during a suspension or in excess of a published quota, which are the bright-line findings that connect directly to the Convention's compliance machinery.
- Proportion of published figures accompanied by the database version, extraction date and unit conventions, which should be all of them.
- Number of paper anomalies that were subsequently corroborated by independent seizure, market survey or field investigation evidence, as the honest measure of how often the technique is right.
Beware of volume. Indicator counts rise easily and say almost nothing. Unique contribution — findings this source produced that no other source in your stack would have — is the measure that matters, and it is usually far lower than anyone expects.
Tradecraft notes
The distinctions that separate a competent analyst from a fast one:
- This is a record of legal trade. Every serious error with this source comes from treating it as a record of crime, and every serious insight comes from studying how crime hides inside legality.
- The discrepancy between the two reported sides is the product. Reconciling importer and exporter figures into one number at ingest is the fastest way to destroy the only thing this dataset does that others cannot.
- Never sum across units. A total combining counts, kilograms and cubic metres is not a quantity, and it is the first thing an informed reviewer will check.
- Source codes are claims made on a permit application. Wild-caught specimens declared as captive-bred is the standard laundering method, and plausibility against the biology and the known facilities is the test that catches it.
- Assess trade against the law as it stood. Appendix listings, quotas and suspensions all have effective dates, and evaluating a historical shipment against today's regime produces confident findings that are simply wrong.
- Exclude the boring explanations in writing before alleging the interesting one. Timing, partial shipments, unit conversion, re-export handling and permit-versus-trade reporting account for most discrepancies, and documenting their elimination is what makes the remainder credible.
- Join on taxon concept identifiers, not on names. Taxonomy moves under long time series, and name-based joins silently merge and split species in ways that are invisible in the output.
- The last few years are always incomplete. A downward trend at the right-hand end of your chart is the reporting calendar until proven otherwise.
- Trace towards the range state. A clean record from a transit country is the weakest assurance in this dataset, because obscuring origin is precisely what a re-export chain is used for.
Questions analysts actually ask
Does this database show illegal wildlife trade?
No. It records trade that Parties reported under the Convention, which is legal trade plus whatever was declared. Illegal trade appears only indirectly: as confiscation and seizure source codes, and as anomalies such as discrepancies between the two reported sides, implausible source declarations, and volumes above quota. The Convention's illegal trade reporting is a separate stream.
Why do the importer and exporter figures for the same shipment differ?
For several routine reasons before any suspicious one: the two Parties may attribute the transaction to different years, one may report permits issued rather than trade effected, units and terms may be recorded differently, shipments may be partial, and re-exports may be handled inconsistently. Only a persistent directional pattern that survives all of these is worth investigating.
Can I just add up the quantity column?
No, not without a conversion layer. The unit column contains counts, kilograms, cubic metres, lengths and blanks meaning number of specimens, and a sum across them measures nothing. Decide your conversions, document them, and keep the original values alongside so a reader can challenge the assumptions.
Why does trade appear to fall sharply in recent years?
Almost always because annual reports arrive late and some have not yet arrived. The most recent two or three reporting years in any extract are structurally incomplete. Exclude them from trend analysis, or include them clearly labelled, and never build an argument about declining trade on the right-hand end of the series.
What does a captive-bred source code actually tell me?
That someone declared the specimen as captive-bred on a permit application. It is not a verified fact about the animal. Declaring wild-caught specimens as captive-bred is the standard laundering technique for live animals, and the check is whether the taxon breeds readily in captivity and whether the declared volumes are plausible for the registered facilities in that country.
Do I need an API key?
Not for the trade database, which is an open web interface with a versioned bulk download and no registration. The Species+ API for the taxonomic and legislative layer does require a free authentication token supplied in a request header, and its documentation lists the available resources including taxon concepts, CITES and EU legislation, distributions and a whole-database download.
How do I find out whether a species was listed at the time of a trade?
Use Species+, which exposes listing changes with effective dates, plus reservations, quotas and suspensions with current-status flags. Appendix listings change at each Conference of the Parties, and a shipment must be assessed against the regime in force when it moved rather than the regime today.
How current is the data?
The historical record improves over time as late reports arrive, so old years get better rather than worse. The recent end is always provisional. For current enforcement questions, use seizure reporting and national enforcement sources; this database answers what the permitted trade looked like, with a lag of years.
Is a discrepancy enough to allege smuggling?
No. It is a hypothesis. Eliminate the routine reporting explanations in writing, check the source and purpose codes for plausibility, test against quotas and suspensions, and then seek independent corroboration from seizures, market surveys, field investigations or the scientific literature. Publishing a discrepancy as smuggling without that work damages both the case and the credibility of the technique.
Standards, formats and interoperability
What this source speaks natively, and what it has to be translated into before a partner can consume it. Work that arrives in a recognised format is easier to defend, easier to hand over and easier to automate against:
- The CITES Appendices I, II and III define the scope of the dataset, and the listing process at the Conference of the Parties determines what enters and leaves it.
- The Convention's standardised codes for purpose of transaction and source of specimen are the controlled vocabularies that make cross-Party comparison possible at all, and they are documented in the guidance to annual reports.
- The CITES standard nomenclature references define the accepted taxonomy, and Species+ taxon concept identifiers are the stable keys that survive nomenclatural change.
- Harmonized System customs classification is the bridge between species-level records and what a customs officer actually sees on a declaration, and the two do not map cleanly.
- ISO 3166 two-letter country codes are used for importer, exporter and origin, so joins to other trade and country datasets are straightforward once territories and historical states are handled.
- The EU Wildlife Trade Regulations impose annex listings that are stricter than the Appendices for some taxa, and Species+ exposes them alongside the CITES layer, which matters for any European supply chain question.
- Platform exports carry commodity flows, country entities and derived anomalies in STIX 2.1, MISP, CSV, JSON and JSONL, so wildlife trade findings share structure with sanctions, corporate and financial crime material.
References
Primary documentation and authoritative references for this source. Publishers revise and retire material, so treat the retrieval date as part of the citation and re-check before relying on any of it in a formal product.
- CITES Trade Database — UNEP-WCMC on behalf of the CITES Secretariat. The database itself, with the filtered query interface, the current versioned full download and the link to the interpretive guide. The starting point for any extraction.
- A guide to using the CITES Trade Database — UNEP-WCMC. The methodological document. It explains reporting conventions, the permits-versus-trade distinction, units and re-exports, and it is not optional reading for anyone publishing from this source.
- Species+ — UNEP-WCMC and CITES Secretariat. The taxonomic and legislative layer covering CITES, CMS and EU wildlife trade regulations, with listing histories, quotas and suspensions.
- Species+ API documentation — UNEP-WCMC. The API reference: taxon concepts, CITES and EU legislation, distributions, references and the whole-database download resource, with the token requirement.
- CITES Wildlife TradeView — CITES Secretariat and UNEP-WCMC. Prepared visual summaries of the trade data by species, country and commodity. Useful for orientation and for briefing decision makers who will not read an extract.
- CITES species checklist — CITES Secretariat and UNEP-WCMC. The authoritative checklist of species covered by the Convention, and the first check on whether a taxon is in scope.
- UNEP-WCMC — UN Environment Programme World Conservation Monitoring Centre. The centre that builds and maintains the database, and publishes much of the analytical work that demonstrates how it should be used.
- TRAFFIC — TRAFFIC. The wildlife trade monitoring network. Its species and market reports are the standard independent corroboration for any anomaly found in the trade record.
- Environmental Investigation Agency — EIA. Field investigations into trafficking networks and supply chains, supplying the actor-level evidence that the trade database structurally cannot.
- UNODC wildlife crime — United Nations Office on Drugs and Crime. Seizure-based analysis of illegal wildlife trade, and the correct source for any quantitative claim about crime rather than about permitted trade.
- World Customs Organization — WCO. Customs classification and enforcement practice, and the framework through which species-level controls are applied at borders.
Link integrity: every reference above was verified with a live request when this page was generated. Where a publisher had moved or withdrawn a document, the link was repointed at a preserved copy in the Internet Archive and marked as archived. Anything with no reachable copy anywhere had its link removed rather than left to rot — the source is still credited, it simply cannot be linked.
Put it into practice
The Quantus Intel threat intelligence platform operationalises this source: it ingests the versioned bulk release rather than ad hoc extracts, keeps importer-reported and exporter-reported rows apart so discrepancies survive to the analyst, resolves every record against the Appendix listings, quotas and suspensions in force at the time of the trade, and raises implausible source declarations as questions rather than conclusions.. Browse the full source catalogue, or follow any tag above into the rest of the library.