A method for synchronous ingestion of input content may include determining, from an ingestion request, applicable ingestion pipeline components and an order by which the ingestion pipeline components are to be applied to input content; applying the ingestion pipeline components to the input content in the order determined from the ingestion request; updating a metadata file as the input content is processed by the ingestion pipeline components; and returning processed content, the metadata file, or both to a client device. The method may further include determining whether the ingestion request specifies a computing facility such as an indexer or a database downstream from the ingestion pipeline. If so, a processing result may be communicated to the computing facility for further processing. A server system may implement synchronous ingestion, asynchronous ingestion, or both.