2016 TIGER Data with PostGIS
As a special caveat, ZCTA data isn't USPS Zip Codes. It's an approximation of it. USPS Zip Codes are really horrible and not useful except to approximate. Everyone, including every governmental entity other than USPS, and (the Census for making ZCTA) ignores them entirely. If USPS wanted to a grow up a bit, they'd just convert to the latest ZCTA and provide authoritative GIS polygons.
Then... Here we query for intersections between TIGER State and TIGER ZCTA datasets. Note, we qualify states by 1% of the total ZCTA area. If 1% of the ZCTA area isn't in the state, we assume it's a rounding error, or someone fat fingering something at the Census. Check out 56168
or even 83832
for a zip code that we're pruning with this added selectivity.
SELECT zcta5ce10, array_agg(state.name ORDER BY state.name) AS states
FROM census.state AS state
JOIN census.zcta AS zcta ON (
ST_Intersects(state.geog::geometry, zcta.geog::geometry)
AND NOT ST_Touches(state.geog::geometry, zcta.geog::geometry)
AND ST_Area(ST_Intersection(state.geog, zcta.geog)) > (ST_Area(zcta.geog)*0.01)
)
GROUP BY zcta.zcta5ce10
HAVING count(*) > 1
ORDER BY zcta5ce10;
Here is the resulset
zcta5ce10 | states
-----------+---------------------------------
03579 | {Maine,"New Hampshire"}
20135 | {Virginia,"West Virginia"}
24604 | {Virginia,"West Virginia"}
31905 | {Alabama,Georgia}
38079 | {Kentucky,Tennessee}
38769 | {Arkansas,Mississippi}
38852 | {Alabama,Mississippi}
42223 | {Kentucky,Tennessee}
51001 | {Iowa,"South Dakota"}
51023 | {Iowa,"South Dakota"}
51360 | {Iowa,Minnesota}
51557 | {Iowa,Nebraska}
51640 | {Iowa,Missouri}
52542 | {Iowa,Missouri}
52573 | {Iowa,Missouri}
52626 | {Iowa,Missouri}
54554 | {Michigan,Wisconsin}
56027 | {Iowa,Minnesota}
56144 | {Minnesota,"South Dakota"}
56164 | {Minnesota,"South Dakota"}
56219 | {Minnesota,"South Dakota"}
56744 | {Minnesota,"North Dakota"}
57026 | {Minnesota,"South Dakota"}
57030 | {Minnesota,"South Dakota"}
57068 | {Minnesota,"South Dakota"}
57078 | {Nebraska,"South Dakota"}
57638 | {"North Dakota","South Dakota"}
57641 | {"North Dakota","South Dakota"}
57642 | {"North Dakota","South Dakota"}
57645 | {"North Dakota","South Dakota"}
57648 | {"North Dakota","South Dakota"}
57660 | {"North Dakota","South Dakota"}
57717 | {"South Dakota",Wyoming}
57724 | {Montana,"South Dakota"}
58225 | {Minnesota,"North Dakota"}
58439 | {"North Dakota","South Dakota"}
58623 | {"North Dakota","South Dakota"}
58649 | {"North Dakota","South Dakota"}
58653 | {"North Dakota","South Dakota"}
59221 | {Montana,"North Dakota"}
59270 | {Montana,"North Dakota"}
59275 | {Montana,"North Dakota"}
59847 | {Idaho,Montana}
63673 | {Illinois,Missouri}
65729 | {Arkansas,Missouri}
65733 | {Arkansas,Missouri}
65761 | {Arkansas,Missouri}
66541 | {Kansas,Nebraska}
67950 | {Kansas,Oklahoma}
68325 | {Kansas,Nebraska}
68719 | {Nebraska,"South Dakota"}
68978 | {Kansas,Nebraska}
69201 | {Nebraska,"South Dakota"}
69212 | {Nebraska,"South Dakota"}
69216 | {Nebraska,"South Dakota"}
71749 | {Arkansas,Louisiana}
72338 | {Arkansas,Tennessee}
72644 | {Arkansas,Missouri}
73949 | {Oklahoma,Texas}
75556 | {Arkansas,Texas}
79837 | {"New Mexico",Texas}
80758 | {Colorado,Nebraska}
81137 | {Colorado,"New Mexico"}
81324 | {Colorado,Utah}
82063 | {Colorado,Wyoming}
82082 | {Nebraska,Wyoming}
82701 | {"South Dakota",Wyoming}
82801 | {Montana,Wyoming}
82930 | {Utah,Wyoming}
83111 | {Idaho,Wyoming}
83120 | {Idaho,Wyoming}
83312 | {Idaho,Utah}
83342 | {Idaho,Utah}
84034 | {Nevada,Utah}
84531 | {Arizona,Utah}
84536 | {Arizona,Utah}
86044 | {Arizona,Utah}
86504 | {Arizona,"New Mexico"}
86514 | {Arizona,Utah}
86515 | {Arizona,"New Mexico"}
87328 | {Arizona,"New Mexico"}
88220 | {"New Mexico",Texas}
88430 | {"New Mexico",Texas}
89010 | {California,Nevada}
89019 | {California,Nevada}
89060 | {California,Nevada}
89421 | {Nevada,Oregon}
89439 | {California,Nevada}
89832 | {Idaho,Nevada}
97635 | {California,Oregon}
97910 | {Idaho,Oregon}
99128 | {Idaho,Washington}
99362 | {Oregon,Washington}
(93 rows)
You should be able to spot check all of these in Google Maps. However, Google Maps is also not authoritative.