About the data
How sightings get from Elanco's API onto the map, what was wrong with them, and the API you can use too.
Where the data comes from
The site copies Elanco's tick sighting API into its own database, cleans it, and adds reports from people using this site. It refreshes at most every six hours, so the source isn't asked on every visit. If the source is down or rate-limited, the last good copy keeps being served.
- Last synced
- 29/10/2026, 18:09:30
- Status
- Up to date
- Sightings
- 1,000, from 3 Jan 2012 to 30 Dec 2024, including 0 public reports
How it was cleaned
The last sync received 1,000 records and kept 1,000. Records are dropped only when they can't be placed on the map or timeline, or would count the same sighting twice. Everything else is fixed and kept.
| Same id appeared twice | 0 |
| Same time, place and species under a different id | 0 |
| No date | 0 |
| Date that doesn't exist (e.g. 30 February) | 0 |
| Date in the future | 0 |
| No location | 0 |
| Location that isn't a UK city we can map | 0 |
| Not a sighting record at all | 0 |
| City name tidied (case, spacing, spelling, alternative names) | 0 |
| Species name filled in or corrected from the Latin name | 0 |
| Latin name corrected to match the speciese.g. Dermacentor frontalis → Ixodes frontalis | 226 |
| Species not recognised, kept as “Unknown species” | 0 |
| Missing id, given a stable one | 0 |
Sightings over time
No sightings match these filters.
Sightings by region
| Region | Share | Cities | Sightings |
|---|---|---|---|
| East Midlands | 2 | 156 | |
| Scotland | 2 | 151 | |
| North West | 2 | 145 | |
| Yorkshire and the Humber | 2 | 128 | |
| West Midlands | 1 | 82 | |
| South West | 1 | 77 | |
| London | 1 | 76 | |
| Wales | 1 | 71 | |
| North East | 1 | 57 | |
| South East | 1 | 57 |
This site's API
The pages above use these endpoints, and you can call them directly. Errors always come back as { error: { code, message, details } } with a matching status code.
- GET
/api/sightingsSearch sightings. Filters: from, to, city, region, species, source, near=lat,lng with radiusKm. Paged with limit and offset. - GET
/api/sightings/{id}One sighting. - POST
/api/sightingsReport a sighting (form data, optional photo). - GET
/api/stats/citiesSightings per city with coordinates and species mix. Takes the same filters. - GET
/api/stats/regionsSightings per region. - GET
/api/stats/trendsSightings per week, month or year (interval=week|month|year). - GET
/api/stats/seasonalSightings per month of one year (year=2024, optional city). - GET
/api/metaTotals, species, years and the latest cleaning report. - GET
/api/healthIs there data, and when was it last synced.