Everything is plain HTTPS request and response. There is nothing to embed, and no SDK you have
to adopt to use the API.
During setup, start with the two operational endpoints rather than these five:
GET /v1/ping
needs no key and proves the base URL, and GET /v1/health confirms which environment your key
is bound to; see Operational endpoints.
If the API is not the implementation path you want, we also maintain a React Native SDK that
wraps the same flow. It is distributed privately, so ask us and we will get you access.
How matching works
A photo matches an event when its coordinates fall inside a known venue and its capture time lands in that event’s window, which runs from 2 hours before the start to 4 hours after. A photo outside every window scores by its distance to the nearest edge and is dropped below a threshold. Three consequences worth designing around:- A photo without coordinates cannot be matched. Filter those out before you send them.
- Most photos will not match. A camera roll is mostly not taken at live events. A match rate in the low single digits is normal and is not a sign of anything wrong.
- A photo can match a venue without yielding an event. Some events in FanFeed’s catalog
are not licensed for redistribution and are never returned to partners. When that happens
the item comes back as unmatched (
matched: false) with itsvenue_idstill set. Treat it as any other unmatched photo.