Foot traffic API for

A foot traffic software API that makes your apps more intelligent!
BestTime helps you e.g. finding the hottest bars on Friday night, avoid crowded venues, research mobility trends, or optimize scheduled labour around the world.

used by

Chillwall AI
Stop guessing at what time and day most people visit a venue

Get foot-traffic forecasts for public venues like stores, restaurants, bars, supermarkets, gyms, parks, museums, subways, attractions, etc. Get a visitor forecast per hour of the week, peak hours, week overviews, and more. The forecast values indicate how busy a venue relative is, as compared to its peak of the week. Try the demo and type 'Whole Foods Market, 1765 California St, San Francisco' in the search box.

We know the best places to go, and we'll show you.

Let's face it, in a big city there are often too many places to choose from. We've compiled billions of pieces of world-wide foot-traffic data into one searchable map that allows you to find out when and where people go - from restaurants and bars, shops to museums. You can even use our filters to find out which places are most busy during different times of the week, filter on neighborhoods, ratings, number reviews, venue types, and more. Try the demo with sample data for New York City, or use the search bar to e.g. find "Busy bars in Sydney Australia on Friday evening".


Be the first to know

BestTime.app provides live foot-traffic data for popular locations. See how busy a venue is right now and how much more or less this is compared to the historical data for this hour. Be the first to know if there is something special happening, or it's actually too quiet to bother.

POST besttime.app/api/v1/forecasts?
venue_name=McDonalds&
venue_address=Ocean+Ave+San+Fransisco
{
        "venue_info": {
          "venue_id": "ven_51387131543761435650505241346a394a6432395362654a496843",
          "venue_name": "McDonald's",
          "venue_address": "1201 Ocean Ave San Francisco, CA 94112 United States",
          "venue_timezone": "America/Los_Angeles"
      },
      "analysis": [
          {
              "day_info": {
                  "day_int": 0,
                  "day_text": "Monday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 6,
                  "day_rank_max": 3,
                  "day_mean": 39,
                  "day_max": 77
              },
              "busy_hours": [
                  12,
                  13,
                  14,
                  15,
                  16
              ],
              "quiet_hours": [
                  6,
                  7,
                  8,
                  9,
                  0,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 10,
                      "peak_max": 14,
                      "peak_end": 18,
                      "peak_intensity": 4,
                      "peak_delta_mean_week": 32
                  }
              ],
              "surge_hours": {
                  "most_people_come": 10,
                  "most_people_leave": 16
              },
              "day_raw": [
                  5,
                  5,
                  15,
                  25,
                  40,
                  55,
                  65,
                  75,
                  75,
                  75,
                  65,
                  50,
                  40,
                  35,
                  35,
                  35,
                  35,
                  35,
                  25,
                  20,
                  10,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ]
          },
          {
              "day_info": {
                  "day_int": 1,
                  "day_text": "Tuesday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 3,
                  "day_rank_max": 4,
                  "day_mean": 45,
                  "day_max": 76
              },
              "busy_hours": [
                  10,
                  11,
                  12,
                  13,
                  14,
                  15,
                  16,
                  17
              ],
              "quiet_hours": [
                  6,
                  7,
                  21,
                  22,
                  23,
                  0,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 8,
                      "peak_max": 12,
                      "peak_end": 19,
                      "peak_intensity": 4,
                      "peak_delta_mean_week": 31
                  }
              ],
              "surge_hours": {
                  "most_people_come": 8,
                  "most_people_leave": 18
              },
              "day_raw": [
                  10,
                  25,
                  40,
                  55,
                  65,
                  75,
                  75,
                  75,
                  75,
                  75,
                  70,
                  65,
                  50,
                  40,
                  30,
                  25,
                  25,
                  25,
                  20,
                  15,
                  10,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ]
          },
          {
              "day_info": {
                  "day_int": 2,
                  "day_text": "Wednesday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 5,
                  "day_rank_max": 7,
                  "day_mean": 41,
                  "day_max": 59
              },
              "busy_hours": [],
              "quiet_hours": [
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 10,
                      "peak_max": 15,
                      "peak_end": 21,
                      "peak_intensity": 3,
                      "peak_delta_mean_week": 14
                  }
              ],
              "surge_hours": {
                  "most_people_come": 7,
                  "most_people_leave": 0
              },
              "day_raw": [
                  10,
                  20,
                  30,
                  40,
                  50,
                  55,
                  55,
                  55,
                  60,
                  60,
                  60,
                  60,
                  55,
                  50,
                  50,
                  45,
                  40,
                  35,
                  20,
                  10,
                  5,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ],
              
          },
          {
              "day_info": {
                  "day_int": 3,
                  "day_text": "Thursday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 4,
                  "day_rank_max": 5,
                  "day_mean": 43,
                  "day_max": 68
              },
              "busy_hours": [
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
              ],
              "quiet_hours": [
                  6,
                  7,
                  23,
                  0,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 9,
                      "peak_max": 11,
                      "peak_end": 20,
                      "peak_intensity": 3,
                      "peak_delta_mean_week": 23
                  }
              ],
              "surge_hours": {
                  "most_people_come": 8,
                  "most_people_leave": 0
              },
              "day_raw": [
                  10,
                  20,
                  35,
                  50,
                  65,
                  70,
                  70,
                  65,
                  65,
                  60,
                  55,
                  50,
                  50,
                  45,
                  45,
                  40,
                  35,
                  30,
                  20,
                  10,
                  5,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ]
          },
          {
              "day_info": {
                  "day_int": 4,
                  "day_text": "Friday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 1,
                  "day_rank_max": 2,
                  "day_mean": 56,
                  "day_max": 89
              },
              "busy_hours": [
                  10,
                  11,
                  12,
                  13,
                  14,
                  15,
                  16,
                  17,
                  18,
                  19,
                  20
              ],
              "quiet_hours": [
                  6,
                  7,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 9,
                      "peak_max": 12,
                      "peak_end": 21,
                      "peak_intensity": 4,
                      "peak_delta_mean_week": 44
                  }
              ],
              "surge_hours": {
                  "most_people_come": 8,
                  "most_people_leave": 20
              },
              "day_raw": [
                  5,
                  20,
                  35,
                  55,
                  70,
                  85,
                  90,
                  90,
                  85,
                  80,
                  80,
                  85,
                  85,
                  80,
                  65,
                  50,
                  40,
                  35,
                  30,
                  20,
                  5,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ]
          },
          {
              "day_info": {
                  "day_int": 5,
                  "day_text": "Saturday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 2,
                  "day_rank_max": 1,
                  "day_mean": 54,
                  "day_max": 100
              },
              "busy_hours": [
                  10,
                  11,
                  12,
                  13,
                  14,
                  15,
                  16,
                  17,
                  18
              ],
              "quiet_hours": [
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 9,
                      "peak_max": 13,
                      "peak_end": 21,
                      "peak_intensity": 5,
                      "peak_delta_mean_week": 55
                  }
              ],
              "surge_hours": {
                  "most_people_come": 9,
                  "most_people_leave": 16
              },
              "day_raw": [
                  5,
                  15,
                  30,
                  45,
                  65,
                  80,
                  95,
                  100,
                  100,
                  95,
                  85,
                  75,
                  65,
                  55,
                  50,
                  45,
                  40,
                  35,
                  25,
                  15,
                  10,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "High",
                      "intensity_nr": 2
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ]
          },
          {
              "day_info": {
                  "day_int": 6,
                  "day_text": "Sunday",
                  "venue_open": 4,
                  "venue_closed": 3,
                  "day_rank_mean": 7,
                  "day_rank_max": 6,
                  "day_mean": 37,
                  "day_max": 62
              },
              "busy_hours": [
                  12,
                  13
              ],
              "quiet_hours": [
                  6,
                  7,
                  8,
                  23,
                  0,
                  1,
                  2,
                  3
              ],
              "peak_hours": [
                  {
                      "peak_start": 10,
                      "peak_max": 13,
                      "peak_end": 20,
                      "peak_intensity": 3,
                      "peak_delta_mean_week": 17
                  }
              ],
              "surge_hours": {
                  "most_people_come": 9,
                  "most_people_leave": 23
              },
              "day_raw": [
                  5,
                  5,
                  20,
                  30,
                  45,
                  55,
                  60,
                  60,
                  60,
                  55,
                  55,
                  50,
                  50,
                  50,
                  45,
                  40,
                  35,
                  30,
                  20,
                  15,
                  5,
                  0,
                  5,
                  5
              ],
              "hour_analysis": [
                  {
                      "hour": 6,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 7,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 8,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 9,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 10,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 11,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 12,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 13,
                      "intensity_txt": "Above average",
                      "intensity_nr": 1
                  },
                  {
                      "hour": 14,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 15,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 16,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 17,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 18,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 19,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 20,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 21,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 22,
                      "intensity_txt": "Average",
                      "intensity_nr": 0
                  },
                  {
                      "hour": 23,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 0,
                      "intensity_txt": "Below average",
                      "intensity_nr": -1
                  },
                  {
                      "hour": 1,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 2,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 3,
                      "intensity_txt": "Low",
                      "intensity_nr": -2
                  },
                  {
                      "hour": 4,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  },
                  {
                      "hour": 5,
                      "intensity_txt": "Closed",
                      "intensity_nr": "999"
                  }
              ]
              
          }
      ],
      "api_key_private": "pri_6423fd17801993a5df921f5ee462a336"
        
Make your apps more intelligent by connecting to our API

Using the software API you can get venue foot-traffic data, search venues in cities, filter venues on foot-traffic busyness, geographic location, day, time, reviews, ratings, and business type. See our API Documentation with code examples. Make smarter apps or advance scientific research using our foot-traffic software API.


Benefits

Benefits

Find the most popular and busiest venues

Search for e.g. "Busy bars in Los Angeles, CA on Friday evening" and our propriety algorithms will do the heavy lifting for you. You can also filter an existing set of venues on foot-traffic data, day, time, and how popular they are according to their ratings and number of reviews.

Avoid crowds

Save time in the waiting line & reduce risk by avoiding crowded places.

Efficient resource scheduling

Save money, reduce foot wastage, maximize efficiency on labor schedules (and other scheduled resources) by applying the insights from venue foot-traffic data.

Scalable infrastructure

Easily start and scale as you go on our scalable plans and infrastructure. We use Cloudflare's cloud CDN to cache data on a global edge network (200+ locations) for optimal performance.

Video demo

How to get started

Get a free test account and API access.

Try out the BestTime tools and software API within a minute. We provide you with a limited amount of free credits to test the API.

Add venue foot-traffic to your account

You can add individual venues by their name and address, or add multiple venues in an area with just one click using the website tools or our software API. Search for e.g., "McDonalds in New York City" or "Busy bars in San Fransisco CA on Friday evening".

Visualize and analyse foot-traffic data

Analyze where people go and at what time and day by looking at our heatmaps and foot-traffic charts using the Radar Tool. Additional included analyses are week overviews, peak analyses, when most people enter or leave a venue, and real-time analyses, and more.

Filter foot-traffic data

Find your desired venues. Filter loaded venues based on predicted foot-traffic, live-foot traffic, geographic location, day of the week, time of the day, venue type (category), rating, reviews, price level, or a combination of the above. Use the insights Implement the data in your own apps or company reports using the developers API.

Use-cases

Use-cases

Consumer-focused apps

Apps make it easier for consumers to discover their ideal venue, whenever it is to show them a quiet supermarket nearby, a quiet gym in the morning, or busy bars & nightclubs on the weekend.

Optimize digital outdoor advertisement

Find the best time to programmatically show your ads by checking foot-traffic of nearby venues that attracts specific type of consumers depending on the venue type.

Staff schedules

Schedule the right amount of staff in your venues using foot-traffic forecasts. This allows you to reduce staff and labour costs when it's quiet and maximize sales when its busy.

Track visitor impact on promotions

Track if a venue promotion or event results in more visitors using the live data. The live data can indicate per hour of the week how much more or less busy it is compared to the past weeks.

Pricing

Pricing

Checkout our flexible plans.

How does it work?

How does it work?

BestTime.app is a foot traffic API service that forecasts how busy a public business will be at any given hour of the week. Foot traffic data is provided for 150+ countries using anonymous phone signals. Data is available for retail, restaurants, bars, gyms, museums, and more.

Foot traffic forecasts are based on average visits over the past weeks. Busyness for any given hour is predicted relative to the biggest peak of the week for this business.

The foot traffic data is presented as percentages for each hour of the week from 0% (empty/ closed) to 100% (visitor peak of the week).

You could compare it with a supercharged FourSquare foot traffic data/ Google Popular Times API with more footfall data analytic functionality.

Tutorials

Tutorials

With these tutorials, you are mastering the BestTime tools in no-time.
Click here for more tutorials

Tutorial - Getting started — 23 Apr 2021

Beginners guide - Part 1 - Website tools

Guide how to use the BestTime.app website tools to get and analyse foot traffic data. We demonstrate this by adding bars to your account, and find the most busy bars on Friday evening in Mission District San Fransisco.

Tutorial - Getting started — 27 Apr 2021

Beginners guide - Part 2 - Developers API

Guide how to use the BestTime.app software API to get and analyse foot traffic data. We demonstrate this by adding bars to your account, and find the most busy bars on Friday evening in Mission District San Fransisco.

Tools

Tools

Use the website tools or get the same data through the software API

Venue Search tool

BestTime has created a tool that lets you search and filter world-wide foot-traffic data in order to find the best venues for whatever your needs may be. Whether it's finding where to go out Friday night or visiting a grocery store when it's less busy, this is the tool for you! Type for example "Busy bars in San Fransisco Friday evening", "Quiet supermarkets Sydney Australia on Sunday from 8 AM until 11 AM", or "Things to do in New York City Wednesday afternoon". The data is also available through the BestTime.app software API.


Foot-traffic forecast tool

Analyze foot-traffic of individual venues. Show a visitor forecast for the coming hours and live analysis. Detects the peak hours, when it will be quiet, when most visitors are coming and leaving, and reports a week overview.

Tutorial
Radar tool

Using the Radar tool you will be able to filter the foot-traffic data on visitor peak, day/time, geographic area, and business type, reviews, rating and price level. For example "Busy bars in San Fransisco Friday evening", "Quiet supermarkets Sydney Australia on Sunday from 8 AM until 11 AM", or "Things to do in New York City". The data is also available through the Venue Filter software API endpoint.

Tutorial
Compare dashboard

Create a personal dashblard to compare the foot-traffic forecasts of multiple businesses in one overview. This way you can for example see when your favorite shop is less crowded, or when your favorite bar is hot and happening.


F.A.Q.

What is a foot-traffic forecast?

A venue foot-traffic forecast result includes data The forecast includes different analysis, e.g.:

  • - Most busy days of the week (maximum, and mean)
  • - Daily peak hours, start, end, and intensity of the peaks
  • - What time most visitors come and leave the venue
  • - The quietest hours of the day
  • - A foot-traffic forecast for every hour of the week, displayed as a relative number from 0 to 100%.

The forecast is stored on the server, so additional (detailed) queries can be made on the forecast. Each subscription plan has a maximum amount of monthly forecasts. You can use these forecast to forecast a venue multiple times (update it) or forecast different venues.

What is a query?

A query gets specific data from an existing stored forecast, and is faster than refreshing a venue foot-traffic forecast. Queries can be used to e.g.:

  • get a specific part of the analysis for a specific day (e.g. only the peak analysis for Friday)
  • get the forecast for the current day and our hour, with the venues local timezone taken into account
  • get the remaining time (in seconds) until a next event (e.g. until next peak)

How accurate are the forecasts?

The normal forecasts are made based on historical visitors to your venues in the past weeks. Based on this data we provide a foot-traffic forecasts for each part of the day, for each day of the week. The forecast values indicate how busy a venue relative is, as compared to its peak of the week, and is displayed a percentage from 0 to 100%.

What is live data?

Live data indicates the real-time activity of a venue expressed as a percentage. This is compared to the historical value for the current day of the week, and hour of the day. Live data is displayed as a percentage from 0 to 200%. We also provide a percentage how much more or less busy it is compared to this hour in the past weeks.

Where do you get the data from?

The data is based on anonymous aggregated GPS-signals. The data is collected from users who opted-in in multiple third-party mobile apps and directly aggregated. We do not collect personal data from foot-traffic data, not even anonymized personal identification numbers. Our internal data can therefore not be traced to a single person.

Does it work on all venues?

No. A venue needs to have a high enough volume of visitors to make a reliable forecast. For real-time live data, this volume needs to be even higher.

Are forecasted automatically updated?

No, after a forecast is made it will be stored on the server. Using the website or API a venue forecast can be updated.

Can I use this data on my website, or somewhere else?

Yes, you can integrate the data on your website, or in your apps using our software API.

Do you provide historical foot-traffic data?

No, we do not provide historical data. You could keep track of our foot-traffic yourself to analyse trends in the spread of relative foot-traffic data over the hours of the week. You could also use our Live data API endpoint every hour to see if there is more or less foot-traffic this current hour compared to the past weeks.

Do you provide actual foot-traffic volume numbers?

No we only provide relative foot-traffic numbers at the moment.

How do you deal with privacy?

We care about privacy! BestTime.app only collects location & time based data as part of the foot-traffic data. We do not collect personal data from foot-traffic data, not even anonymized personal identification numbers. Additionally, we only provide aggregated data to our customers. Both our internal and external data can therefore not be traced to a single person. When using the API only the API key usage is logged. No personal information is saved when you or your customers use the software API. Our website uses Google Analytics and SmartLook only to optimize the user experience. We do not collect or sell personal information for other purposes.