{"id":26670899,"url":"https://github.com/climactic/markitdown-api","last_synced_at":"2025-04-12T03:14:09.120Z","repository":{"id":284045831,"uuid":"953648929","full_name":"Climactic/markitdown-api","owner":"Climactic","description":"A REST API to Convert Files to Markdown with AI","archived":false,"fork":false,"pushed_at":"2025-03-23T21:14:54.000Z","size":25,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-12T03:14:06.150Z","etag":null,"topics":["api","converter","llm","markdown","markitdown","markitdown-api","ocr","openai","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Climactic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"climactic"}},"created_at":"2025-03-23T20:38:21.000Z","updated_at":"2025-04-08T10:34:52.000Z","dependencies_parsed_at":"2025-03-23T21:40:26.480Z","dependency_job_id":null,"html_url":"https://github.com/Climactic/markitdown-api","commit_stats":null,"previous_names":["climactic/markitdown-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2Fmarkitdown-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2Fmarkitdown-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2Fmarkitdown-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Climactic%2Fmarkitdown-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Climactic","download_url":"https://codeload.github.com/Climactic/markitdown-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248510001,"owners_count":21116130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","converter","llm","markdown","markitdown","markitdown-api","ocr","openai","python"],"created_at":"2025-03-25T22:46:46.037Z","updated_at":"2025-04-12T03:14:09.098Z","avatar_url":"https://github.com/Climactic.png","language":"Python","funding_links":["https://github.com/sponsors/climactic"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \n  ![MarkItDown Logo](./.github/assets/markitdown.webp)\n  \n  \u003ch1\u003eMarkItDown API\u003c/h1\u003e\n  \u003cp\u003eA REST API for converting files to markdown using AI\u003c/p\u003e\n\u003c/div\u003e\n\n## Features\n- Convert files to markdown using Microsoft's markitdown via REST API\n- OpenAI integration with customizable host and model\n- Authentication with API key\n\n## Setup\n\n### Environment Variables\n\n| Variable                | Description                                   |\n|-------------------------|-----------------------------------------------|\n| API_KEY                 | Your secret API key for authentication        |\n| ALLOWED_ORIGINS         | Comma-separated list of allowed origins       |\n| OPENAI_API_BASE         | Base URL for OpenAI API (optional)           |\n| OPENAI_API_KEY          | Your OpenAI API key (optional)               |\n| OPENAI_MODEL            | The model to use for OpenAI API (optional)   |\n| DOCS_ENABLED            | Enable Swagger/ReDoc docs (default: true)        |\n\nCopy .env.example to .env and set your values if you're doing this locally.\n\n### Generate API Key\n\n```bash\npython generate_api_key.py\n```\n\n### Production\n\n```bash\ndocker pull ghcr.io/climactic/markitdown-api:latest\ndocker run -d -p 8000:8000 -e API_KEY=\u003cyour_api_key\u003e ghcr.io/climactic/markitdown-api:latest\n```\n\nOr use the docker-compose.prod.yml file to start the container.\n\n### Local Development\n\n1. Create a virtual environment:\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n```\n\n2. Install dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n3. Run the application:\n\n```bash\npython run.py\n```\n\nThe API will be available at `http://localhost:8000`.\n\n### Docker Deployment\n\n1. Build and start the Docker container:\n\n```bash\ndocker-compose up -d\n```\n\nThe API will be available at `http://localhost:8000`.\n\n## API Endpoints\n\n### Convert Markdown to Text\n\n```\nPOST /convert\n```\n\nRequest:\n- Upload a markdown file\n\nHeaders:\n- X-API-Key: your_api_key (if authentication is enabled)\n\n### Health Check\n\n```\nGET /health\n```\n\nResponse:\n```json\n{\n  \"status\": \"healthy\"\n}\n```\n\n## API Documentation\n\nWhen the API is running, you can access the interactive API documentation at:\n\n- Swagger UI: `http://localhost:8000/docs`\n- ReDoc: `http://localhost:8000/redoc` \n\n## Sponsors\n\nSponsors are welcome to support the development of this project.\n\nYou can sponsor us on [GitHub Sponsors](https://github.com/sponsors/climactic).\n\n## License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimactic%2Fmarkitdown-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclimactic%2Fmarkitdown-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimactic%2Fmarkitdown-api/lists"}