Pricing
Priced per photographer, not per photo.
Every plan includes jersey-number recognition, personal player galleries and customer selections.
Starter
For photographers shooting their first seasons.
€19/ month
or €190 a year · 50 GB storage
Start with Starter- 50 GB storage
- 10 active galleries
- Jersey-number recognition, 2,000 photos / month
- Personal player galleries
- Favourites and customer selections
- CSV and TXT exports
- Password-protected share links
- Sportfolios branding on galleries
Most popular
Professional
For photographers who sell.
€49/ month
or €490 a year · 500 GB storage
Start with Professional- 500 GB storage
- 150 active galleries
- Advanced recognition, 25,000 photos / month
- Digital shop with Stripe checkout
- Custom price lists and packages
- No Sportfolios branding
- Custom domain
- Advanced exports incl. Lightroom lists
- Client management
- Advanced analytics
Studio
For teams covering whole leagues.
€149/ month
or €1490 a year · 4 TB storage
Start with Studio- 4 TB storage
- Unlimited practical gallery volume
- Priority recognition, 250,000 photos / month
- 15 team members and multiple brands
- Club management tools
- Granular permissions
- API access
- White-label options
- Advanced reporting
Questions
- Is recognition included on every plan?
- Yes. Starter includes 2,000 analysed photos a month; Professional 25,000; Studio 250,000. No plan pays per recognised player.
- What happens when I hit my storage limit?
- Uploads are refused server-side with a clear message rather than failing silently. Archive an old gallery or upgrade — nothing is deleted automatically.
- Do you take a cut of sales?
- No. Stripe’s own processing fee applies; Sportfolios does not add a commission.
- Where is the data stored?
- Firestore uses the eur3 European multi-region and photo files are stored in the EU Storage multi-region. The application is hosted in europe-west4.
- Can I use my own domain?
- From Professional up. Galleries run under your domain with an automatically issued certificate.
Something else? Get in touch.