diff --git a/src/main/java/ch/hepia/api/transport/Connection.java b/src/main/java/ch/hepia/api/transport/Connection.java
index 1004f9b4f53405e800310b7b3c08d7d5968385d9..404f299989e111f43619938ff4c0a271251e10c0 100644
--- a/src/main/java/ch/hepia/api/transport/Connection.java
+++ b/src/main/java/ch/hepia/api/transport/Connection.java
@@ -98,27 +98,27 @@ public class Connection {
                 return new EmptyConnection();
             }
 
-            JSONObject fromJSON = datas.getJSONObject("from");
+            JSONObject fromJSON = datas.isNull("from") ? new JSONObject() : datas.getJSONObject("from");
             Stop.StopBuilder from = new Stop.StopBuilder(fromJSON);
 
-            JSONObject toJSON = datas.getJSONObject("to");
+            JSONObject toJSON = datas.isNull("to") ? new JSONObject() : datas.getJSONObject("to");
             Stop.StopBuilder to = new Stop.StopBuilder(toJSON);
 
             DateFormat formatter = new SimpleDateFormat("dd:kk:mm:ss");
             String date = datas.isNull("duration") ? "00:00:00:00" : datas.getString("duration").replace('d',':');
             Time duration = new Time(formatter.parse(date).getTime());
 
-            JSONObject serviceJSON = new JSONObject(datas.get("service"));
+            JSONObject serviceJSON = datas.isNull("service") ? new JSONObject() : new JSONObject(datas.get("service"));
             Service.ServiceBuilder service = new Service.ServiceBuilder(serviceJSON);
 
-            JSONArray productsJSON = datas.getJSONArray("products");
+            JSONArray productsJSON = datas.isNull("from") ? new JSONArray() : datas.getJSONArray("products");
             List<String> products = new ArrayList<>();
             productsJSON.forEach(k -> products.add(k.toString()));
 
             int capacity1st = datas.isNull("capacity1st") ? 0 : datas.getInt("capacity1st");
             int capacity2nd = datas.isNull("capacity2nd") ? 0 : datas.getInt("capacity2nd");
 
-            JSONArray sectionsJSON = datas.getJSONArray("sections");
+            JSONArray sectionsJSON = datas.isNull("from") ? new JSONArray() : datas.getJSONArray("sections");
             List<Section> sections = new ArrayList<>();
             sectionsJSON.forEach(o -> {
                 JSONObject k = (JSONObject) o;
diff --git a/src/main/java/ch/hepia/api/transport/Journey.java b/src/main/java/ch/hepia/api/transport/Journey.java
index 136c05bd4210e4571b3c7d4a2976d88de12c8e05..c51b434d605208829c078a23444f2ff555688f67 100644
--- a/src/main/java/ch/hepia/api/transport/Journey.java
+++ b/src/main/java/ch/hepia/api/transport/Journey.java
@@ -130,7 +130,7 @@ public class Journey {
 
             String to = datas.isNull("to") ? "" : datas.getString("to");
 
-            JSONArray passListJSON = datas.getJSONArray("passList");
+            JSONArray passListJSON = datas.isNull("from") ? new JSONArray() : datas.getJSONArray("passList");
             List<Stop> passList = new ArrayList<>();
             passListJSON.forEach( o -> {
                 JSONObject k = (JSONObject) o;
diff --git a/src/main/java/ch/hepia/api/transport/Location.java b/src/main/java/ch/hepia/api/transport/Location.java
index 75c519435ba55d6d2fec333e2a96019b1fa58468..f36977e00abff068ee152241a96e706f0a25439d 100644
--- a/src/main/java/ch/hepia/api/transport/Location.java
+++ b/src/main/java/ch/hepia/api/transport/Location.java
@@ -81,7 +81,7 @@ public class Location {
             String name = datas.isNull("name") ? "" : datas.getString("name");
             double score = datas.isNull("score") ? 0 : datas.getDouble("score");
 
-            JSONObject coordinatesJSON = datas.getJSONObject("coordinate");
+            JSONObject coordinatesJSON = datas.isNull("coordinate") ? new JSONObject() : datas.getJSONObject("coordinate");
             Coordinates.CoordinatesBuilder coordinates = new Coordinates.CoordinatesBuilder(coordinatesJSON);
 
             double distance = datas.isNull("distance") ? 0 : datas.getDouble("distance");
diff --git a/src/main/java/ch/hepia/api/transport/Section.java b/src/main/java/ch/hepia/api/transport/Section.java
index f301b3b526c7c382b07fc4c4a65eb1ccc8c8d045..ed06519c1489b419691c324ff0520e71dd2aa48b 100644
--- a/src/main/java/ch/hepia/api/transport/Section.java
+++ b/src/main/java/ch/hepia/api/transport/Section.java
@@ -90,15 +90,15 @@ public class Section {
                 return new EmptySection();
             }
 
-            JSONObject journeyJSON = datas.getJSONObject("journey");
+            JSONObject journeyJSON = datas.isNull("journey") ? new JSONObject() : datas.getJSONObject("journey");
             Journey.JourneyBuilder journey = new Journey.JourneyBuilder(journeyJSON);
 
             double walktime = datas.isNull("walktime") ? 0 : datas.getDouble("walktime");
 
-            JSONObject departureJSON = datas.getJSONObject("departure");
+            JSONObject departureJSON = datas.isNull("departure") ? new JSONObject() : datas.getJSONObject("departure");
             Stop.StopBuilder departure = new Stop.StopBuilder(departureJSON);
 
-            JSONObject arrivalJSON = datas.getJSONObject("arrival");
+            JSONObject arrivalJSON = datas.isNull("arrival") ? new JSONObject() : datas.getJSONObject("arrival");
             Stop.StopBuilder arrival = new Stop.StopBuilder(arrivalJSON);
 
             return new Section(journey.build(), walktime, departure.build(), arrival.build());
diff --git a/src/main/java/ch/hepia/api/transport/Stop.java b/src/main/java/ch/hepia/api/transport/Stop.java
index e48645c4015810c139762ddadf8e46f01fb012e7..1decc5d428a629395edd0d374bc99c9e40adfbd8 100644
--- a/src/main/java/ch/hepia/api/transport/Stop.java
+++ b/src/main/java/ch/hepia/api/transport/Stop.java
@@ -105,7 +105,7 @@ public class Stop {
             String[] keys = new String[10];
             datas.keySet().toArray(keys);
             String type = keys[4];
-            JSONObject locationJSON = datas.getJSONObject(type);
+            JSONObject locationJSON = datas.isNull("type") ? new JSONObject() : datas.getJSONObject(type);
             Location.LocationBuilder location = new Location.LocationBuilder(locationJSON, type);
 
             DateFormat formatter = new SimpleDateFormat("kk:mm:ss");
@@ -118,7 +118,7 @@ public class Stop {
             int delay = datas.isNull("delay") ? 0 : datas.getInt("delay");
             int plateform = datas.isNull("plateform") ? 0 : datas.getInt("plateform");
 
-            JSONObject prognosisJSON = new JSONObject(datas.get("prognosis"));
+            JSONObject prognosisJSON = datas.isNull("prognosis") ? new JSONObject() : new JSONObject(datas.get("prognosis"));
             Prognosis.PrognosisBuilder prognosis = new Prognosis.PrognosisBuilder(prognosisJSON);
 
             return new Stop(location.build(), arrival, departure, delay, plateform, prognosis.build());