Limits and supported features

On this page

Spark hosts your public site and the internal tools you use to manage it. A project has one public site with multiple pages. Ask Spark to add new pages or functionality to that site.

Publishing and selling

  • You can build, preview and publish on the Free plan, at your Spark URL with a Built with Spark badge. Taking payments, custom domains and removing the badge need a paid plan.
  • Payments use Stripe. Offers are priced in US dollars.
  • Physical products ship to US addresses only, with up to five flat shipping rates per project. Checkout doesn’t add sales tax.
  • Spark’s built-in customer sign-in uses email codes.
  • Hosting is included. Downloading the project to host it elsewhere isn’t a supported product workflow.
  • After you add a custom domain, Spark looks for its records for up to 72 hours.

See Publishing your project, Sell with Spark, and Plans and credits for the steps.

Quotas

Every project has quotas. Most are daily, such as how many people it can email, and reset at midnight UTC. The others cap what a project holds at one time, such as the files it stores; deleting what it no longer needs makes room.

Your plan sets each limit. The Starter and Pro plans raise most of them above the Free plan, for every project in your organization, and the table below lists both. A few quotas are shared by all your organization’s projects, and those say so.

Quotas are separate from credits. Credits pay for what your project uses, and quotas cap how much it can use. A project can reach a quota with credits to spare.

See your quotas

Open Project settings → Quotas to see the quotas your project is using, each against its limit: what it has used today for a daily quota, and what it holds now for one that caps what it stores, such as its files. A quota is listed when your project used it in the last 30 days, holds something against it, or has a limit Spark changed for it. Your organization’s project count is listed once it is close to its limit. Usage can be up to 10 minutes behind. When the Starter plan allows more than your plan does, the quota shows the higher limit next to See plans. Not used in the last 30 days, below the list, holds every other quota, and Fixed limits the limits that are the same on every plan, such as the largest file your project can store.

Account settings → Usage charts each quota’s daily use against its limit over the last 30 days (UTC). Choose one project, or All projects to see the project closest to its limit on each day. Days when a limit was reached are shown in red, and days when a request was refused before the limit was reached are shown in a lighter red.

Spark also emails your organization’s owners and admins when a quota reaches 80% of its limit, when it reaches the limit, and when it refuses a request that would have gone over it; see Health.

Quotas on each plan

Your site saves its data, such as orders, bookings, or a game’s scores, as documents. Files are uploads and the other files your project stores. Amounts marked “a day” reset at midnight UTC. The rest are what a project can hold at one time.

QuotaFreeStarter and Pro
Document reads and writes500,000 a day2,000,000 a day
Document data written256 MB a day1 GB a day
Stored documents100,0001,000,000
Document storage2 GB10 GB
File storage2 GB20 GB
Uploads per customer500 a day500 a day
Malware checks per customer (the size of the files one customer uploads)2.5 GB a day2.5 GB a day
AI calls (requests your project makes to AI models)2,000 a day10,000 a day
Chat messages (what customers send your site’s AI chat)5,000 a day25,000 a day
Chat messages per customer200 a day200 a day
Web searches2,000 a day10,000 a day
Generated images200 a day1,000 a day
Email recipients (customers your project emails)200 a day1,000 a day
Email recipients across projects1,000 a day5,000 a day
Emails to your business (from your contact form and similar)50 a day50 a day
Sign-up confirmations (waitlist confirmation emails)100 a day500 a day
Scheduled emails (waiting to be sent later)5002,000
Schedules (scheduled tasks your project has set up)25100
Scheduled runs (times your scheduled tasks run, retries included)500 a day5,000 a day
Background jobs10,000 a day50,000 a day
Events recorded50,000 a day250,000 a day
File conversions1,000 a day5,000 a day
File conversion data2 GB a day10 GB a day
Knowledge documents (what your AI answers from)2001,000
Live connections20,000 a day100,000 a day
Live updates delivered (live messages, counting each person who receives one)2,000,000 a day10,000,000 a day
Projects25 per organization25 per organization

Project settings → Quotas has every quota your project has, including ones this table leaves out: the remaining quotas are under Not used in the last 30 days.

Chat messages and AI calls count different kinds of AI features, so they aren’t one combined allowance. A feature that asks the AI to search the web or read a page while it answers counts as one AI call. Each web search it runs is charged to your credits on top of that call.

If you need more

Upgrading from the Free plan to the Starter or Pro plan raises most quotas for every project in your organization.

If a project needs more than its plan allows, contact Spark support and say which quota. Spark can raise a quota for one project, or for your organization when your projects share it. A quota Spark changed for your project is marked in Project settings → Quotas, for example Raised for this project.

Spark knows your project’s quotas when it builds features and keeps within them. For example, it saves a game’s progress in batches instead of after every move. It also sees which quotas are close to their limits, so if a feature stops working, you can ask Spark what used up the quota.

Email

Built-in email is sent to customers who have signed in to your project. Your project can also email people on lists you upload, people who confirm their address on a waitlist, and the friends a signed-in customer sends something to or invites; see Email people who aren’t customers yet. It can’t email other addresses. Marketing messages also respect unsubscribe and delivery restrictions.

These email limits aren’t listed in Project settings → Quotas:

FreeStarter and Pro
Email to people who aren’t customers50 a day, shared by all of your organization’s projects, or 100 when the project sends from your own domain300 a day per project, or 1,000 when the project sends from your own domain
People on email lists100 per project, or 200 with your own domain2,000 per project, or 5,000 with your own domain
Addresses a customer can email through your site10 a day per customer, or 25 with your own domain10 a day per customer, or 25 with your own domain
Emails your site sends one person a customer invited10 a day, or 25 with your own domain10 a day, or 25 with your own domain

Every marketing email includes an unsubscribe link. If your site sends more than one kind of marketing email, such as a weekly digest and product announcements, a customer can unsubscribe from one kind and keep getting the others. Receipts and other messages a customer’s own action caused still reach people who unsubscribed.

When your site sends from your own verified domain, the email footer names only your business.

Files and uploads

You can attach any type of file to the chat, and your site can accept any type of file from customers through the upload features Spark builds. Each file can be up to 50 MB.

  • A chat message can carry up to five files. Spark shrinks each PNG, JPEG, or WebP image you attach so its longest side is at most about 1,600 pixels, and usually saves it as WebP. An image can be up to 5 MB after that. GIFs are sent as they are.
  • Some upload buttons on your site or in your internal tools accept only certain types, or only smaller files. The AI chat page Spark sets up, for example, takes images, PDFs, Word documents, and text files up to 10 MB. Ask Spark to change one if you need other files.
  • Each file a customer uploads counts as at least 2.5 MB toward their daily 2.5 GB, and each page or slide image a conversion makes for a customer counts as one of their files.

Every upload is checked for malware before it’s ready to use or download. That covers every file you add to your project, whether in the chat, in Project settings, or in an internal tool, and every file customers upload to your site. The check usually takes a second or two. A large file, or an archive that holds many files, can take a minute or more.

Spark refuses:

  • A file that contains malware.
  • A file the check can’t open, such as a password-protected or encrypted archive, some encrypted PDFs, or an archive that unpacks to more than the check can handle. Remove the password, or split a large archive into smaller ones, and upload it again.
  • Programs, installers, and scripts. That means Windows, Mac, and Linux programs and installer packages, Office add-ins, disk images, Java and mobile app packages, browser extensions, and script files. Shortcut and web-link files and OneNote notebooks are refused too. Examples are .exe, .msi, .dmg, .pkg, .deb, .apk, .jar, .js, .py, .bat, .ps1, .vbs, .lnk, .url, and .one files. Spark also checks what a file contains, so a Windows, Mac, or Linux program is refused whatever it’s named.

Other code files, such as .ts, .css, or .sh files, can be attached to the chat, and Spark reads them as text.

A file of a type Spark doesn’t recognize, such as a Photoshop or Blender file, is kept as a download when you attach it to the chat or a customer uploads it. It can be stored and downloaded under its own name, but Spark doesn’t open it, show it in the browser, add it to your site’s AI knowledge, or convert it.

Files your site loads

Spark can copy a file you attach into your site, or make it public so your site loads it from a permanent address. Anyone who has that address can open the file, even before you publish your site, so tell Spark if a file should stay private. Making a file public suits large files and files a page loads while it runs, such as the 3D model in a product viewer or a game, its textures and sounds, a background video, or a web font. These types can be made public:

  • Images: PNG, JPEG, GIF, WebP
  • 3D models and textures: GLB, KTX2, HDR
  • Audio: MP3, WAV, M4A, OGG
  • Video: MP4, WebM
  • Web fonts: WOFF, WOFF2
  • Documents: PDF, Word (DOCX), Excel (XLSX), PowerPoint (PPTX), EPUB, CSV, text, Markdown
  • ZIP archives

A single file copied into your site can be up to 25 MB. A larger one can be made public instead, if its type is on the list above. Your public site’s code and the files copied into it can total up to 256 MB, and the same goes for each internal tool. Public files don’t count toward that total.

Your site tells the browser what kind of file each one is, including 3D models, audio, video, fonts, and WebAssembly, so a game or a 3D scene can load them. Export Unity and Godot games single-threaded, since your site can’t run a multithreaded export. Export them uncompressed too, or turn on Unity’s Decompression Fallback. A game’s code and data files can’t be made public, so each one you attach has to be 25 MB or smaller.

File conversion

Spark converts files in the chat and in the features it builds into your site and internal tools. It supports these formats:

FromTo
Images: PNG, JPEG, WebP, GIF, TIFF, HEIC, HEIF, AVIF, SVGPNG, JPEG, WebP, AVIF, PDF
PDFPage images
Word documents (DOCX, DOC) and OpenDocument text (ODT)PDF, DOCX, ODT, HTML, page images
Rich text (RTF)PDF, DOCX, ODT, HTML
EPUBPDF
Slide decks (PPTX, PPT, ODP)PDF, slide images; PPT and ODP also to PPTX
Spreadsheets (XLSX, XLS, ODS)PDF, CSV; XLS and ODS also to XLSX
CSVXLSX
Web pages (HTML)PDF, page images, DOCX
MarkdownPDF, page images, DOCX, HTML
Plain textPDF

Page and slide images can be PNG, JPEG, or WebP. Common Office fonts are included, so documents made in Word, PowerPoint, or Excel keep their usual fonts.

  • Files can be up to 50 MB, and images up to 50 megapixels.
  • Documents can have up to 300 pages. One conversion produces up to 100 page or slide images, so ask for specific pages to convert part of a longer file.
  • A quick conversion must finish within 30 seconds. Large files, long documents, and batches of files convert in the background instead, where each conversion can take up to 10 minutes.
  • A project can have up to 10 background conversions in progress at once.

A converted file is removed after 7 days unless Spark adds it to your site or an internal tool, or your site saves it as a regular file. Your site can keep HEIC, HEIF, AVIF, and TIFF images only as temporary files; to keep one, convert it to JPEG, PNG, or WebP.

File conversion is currently included at no extra charge and doesn’t use credits. Spark’s own work in the chat still uses Build credits as usual.

Live updates

Pages that update live, such as a chat room or an online list, use these limits:

  • Up to 500 people can be connected to one chat room or live feed at a time. A game room that guests can play in holds up to 16 people, including anyone who is only watching.
  • One person can have up to 10 live connections open at once, for example in several tabs. Up to 30 guests on one internet connection, such as a classroom or a household, can play in a site’s game rooms at once.
  • A single live message can be up to 32 KB, about a few pages of text. Send a link to a file for anything larger.
  • Each connection can send up to 50 messages every 10 seconds.
  • On the Free plan, a project can open 20,000 live connections a day and deliver 2,000,000 live messages a day, counting each person who receives a message. On the Starter and Pro plans, it can open 100,000 and deliver 10,000,000.
  • A video call works for about 4 people, and a voice call for about 8. The video and sound go directly between the people on the call and don’t count as live messages. Keeping a call going does: a call of 4 uses about 2,900 live messages an hour, and a call of 8 about 13,500.
  • When someone’s network blocks a direct connection between browsers, such as some office or mobile networks, Spark relays the call for them. The relay passes the video and sound along without being able to see or hear them.
  • Each project can relay up to 200 GB of call data a day, and up to 10 GB a day in its preview. Each customer can be relayed up to 20 GB a day. When a limit is reached, calls that need the relay can’t connect until the next day, and calls that connect directly keep working.

Live updates are charged at what they cost Spark, with no markup: on your public site they use App credits, and in your internal tools they use Build credits. Opening a live connection is free. Relayed call data is charged to App credits by the amount the relay sends, at the relay provider’s price with no markup, so a call that connects directly costs nothing extra. If the balance they use runs out, new live connections wait until you top up.

When something reaches a limit

When a daily quota reaches its limit, Spark refuses anything that would go over it until the limit resets at midnight UTC. When a quota on what your project holds is full, such as its file storage, Spark refuses more until the project holds less. Delete what it no longer needs, or ask for a higher limit. A quota your projects share stops more in every project of your organization.

Everything else in your project keeps working. The request that went over the limit gets an error that says which limit it reached.

Running out of credits is different: it pauses the features those credits pay for until you top up. See Plans and credits.

Read the message for the specific action that failed. Check Project settings → Quotas for your project’s quotas, Project settings → Health for project alerts, and Account settings → Usage for credit usage and each quota’s last 30 days.