PyPy doesn't support Python's C API. It's more of an exercise in tracing JIT compilation (and crowdfunding various experiments) rather than a CPython replacement.
It's incomplete and there's no interest in finishing it.
A lot of C modules rely on CPython specifics, PyPy cannot support, performance of the PyPy C API is horrible which is a huge problem given that C extensions are mainly used to improve performance and embedding PyPy isn't possible either.
CPyExt is more of a hack you use until you have ctypes/cffi bindings.
You are right about the Pyhton's C API. However I've found that I can use any C (or C++ 2003) library through the cppyy branch.