A machine reader is a tool able to transform natural language text to formal structured knowledge so as the latter can be interpreted by machines, according to a shared semantics. FRED is a machine reader for the semantic web: its output is a RDF/OWL graph, whose design is based on frame semantics. Nevertheless, FRED’s graph are domain and task independent making the tool suitable to be used as a semantic middleware for domain- or task- specific applications. To serve this purpose, it is available both as REST service and as Python library. This paper provides details about FRED’s capabilities, design issues, implementation and evaluation.