Awesome
UPDATE #1 - Medium.com API is no longer supported.- UPDATE #2 - The API is live again, users are allowed to create their own token.
Looks like Medium does not support API access anymore. The post with API info has been taken down- https://blog.medium.com/welcome-to-the-medium-api-3418f956552 (Unlisted)
Medium.com API Specification
This is an unofficial API specification translated from official API documentation found at https://github.com/Medium/medium-api-docs using OpenAPI Specification (fka Swagger 2.0).
Why OpenAPI?
OpenAPI specification is an open standard, it provides variety of support for generating both server and client code for different languages and frameworks. See Swagger Tools for more information.
Preview/Test API
Best way to preview or test API is using Swagger UI, Swagger Editor or Postman.
NOTE: You should generate self-issued-access-tokens by following instruction on official-guide to access API endpoints.
Swagger UI
(Recommended) - Good for preview API doc. You can download Swagger UI distribution, or open their demo site and load the specification URI (https://raw.githubusercontent.com/amardeshbd/medium-api-specification/master/medium-api-specification.yaml)ReDoc
(Mobile Device Friendly) - ReDoc is another API spec viewer built by Rebilly. Preview Medium API in Redoc. (Supports responsive design for both desktop and mobile devices)Swagger Editor
- Good for preview, live editor support and API client library code generation support. Open their swagger editor and load the URL specification above.Postman
- Good for preview and testing API endpoints. More info at https://www.getpostman.com/
Generating Client SDK
The swagger-codegen tool can generate client-sdk for different languages.
Based on code generator service, following languages are supported by the client generator.
"akka-scala", "android", "async-scala", "clojure", "cpprest", "csharp", "CsharpDotNet2", "cwiki", "dart", "dynamic-html", "flash", "go", "groovy", "html", "html2", "java", "javascript", "javascript-closure-angular", "jmeter", "objc", "perl", "php", "python", "qt5cpp", "ruby", "scala", "swagger", "swagger-yaml", "swift", "tizen", "typescript-angular", "typescript-angular2", "typescript-fetch", "typescript-node"
Here are few examples:
- Android (with java based retrofit client library): medium-api-android-sample
- Android (with java based retrofit+RxJava client library) : android-daily-headlines - Uses NYTimes Top Stories V2 swagger spec to generate client library.
Screenshots
- Swagger UI
- Swagger Editor (NOTE: Code generation option available here)
- Postman