#5486: typos.
diff --git a/Doc/c-api/buffer.rst b/Doc/c-api/buffer.rst
index 1dc032e..c46028b 100644
--- a/Doc/c-api/buffer.rst
+++ b/Doc/c-api/buffer.rst
@@ -93,7 +93,7 @@
       occur (striding in a contiguous memory block).
 
       Here is a function that returns a pointer to the element in an N-D array
-      pointed to by an N-dimesional index when there are both non-NULL strides
+      pointed to by an N-dimensional index when there are both non-NULL strides
       and suboffsets::
 
           void *get_item_pointer(int ndim, void *buf, Py_ssize_t *strides,
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index b63ab9f..2d6b998 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -820,7 +820,7 @@
    it returns -1 without setting any exception.
 
    This function can be called on any thread, be it a Python thread or
-   some other system thread.  If it is a Python thread, it doesen't matter if
+   some other system thread.  If it is a Python thread, it doesn't matter if
    it holds the global interpreter lock or not.
 
    .. versionadded:: 2.7
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 7dd576e..2e2f9c4 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -1214,7 +1214,7 @@
       export, *view* is the :ctype:`Py_buffer` struct to fill, and *flags* gives
       the conditions the caller wants the memory under.  (See
       :cfunc:`PyObject_GetBuffer` for all flags.)  :cmember:`bf_getbuffer` is
-      responsible for filling *view* with the approiate information.
+      responsible for filling *view* with the appropriate information.
       (:cfunc:`PyBuffer_FillView` can be used in simple cases.)  See
       :ctype:`Py_buffer`\s docs for what needs to be filled in.