diff --git a/.changeset/warm-monkeys-check.md b/.changeset/warm-monkeys-check.md
new file mode 100644
index 0000000000000000000000000000000000000000..65ca74b1f6b7d15beb19c4d8a869c9d832349561
--- /dev/null
+++ b/.changeset/warm-monkeys-check.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+feat: allow `SimpleDirectoryReader` to get a string
diff --git a/packages/core/src/readers/SimpleDirectoryReader.ts b/packages/core/src/readers/SimpleDirectoryReader.ts
index a6177381beb75bc25a78cadd35a1efa7fbdac3fc..2dc053f34ad67ad96c202dcb18f7a0635537af4e 100644
--- a/packages/core/src/readers/SimpleDirectoryReader.ts
+++ b/packages/core/src/readers/SimpleDirectoryReader.ts
@@ -49,7 +49,7 @@ export const FILE_EXT_TO_READER: Record<string, BaseReader> = {
   gif: new ImageReader(),
 };
 
-export type SimpleDirectoryReaderLoadDataProps = {
+export type SimpleDirectoryReaderLoadDataParams = {
   directoryPath: string;
   fs?: CompleteFileSystem;
   defaultReader?: BaseReader | null;
@@ -64,12 +64,20 @@ export type SimpleDirectoryReaderLoadDataProps = {
 export class SimpleDirectoryReader implements BaseReader {
   constructor(private observer?: ReaderCallback) {}
 
-  async loadData({
-    directoryPath,
-    fs = defaultFS,
-    defaultReader = new TextFileReader(),
-    fileExtToReader = FILE_EXT_TO_READER,
-  }: SimpleDirectoryReaderLoadDataProps): Promise<Document[]> {
+  async loadData(
+    params: SimpleDirectoryReaderLoadDataParams | string,
+  ): Promise<Document[]> {
+    if (typeof params === "string") {
+      params = { directoryPath: params };
+    }
+
+    const {
+      directoryPath,
+      fs = defaultFS,
+      defaultReader = new TextFileReader(),
+      fileExtToReader = FILE_EXT_TO_READER,
+    } = params;
+
     // Observer can decide to skip the directory
     if (
       !this.doObserverCheck("directory", directoryPath, ReaderStatus.STARTED)