Checking if a package name is allowed or forbidden/reserved on PyPI

Is there any way to check if a package name is allowed or forbidden/reserved on PyPI?

According to this page, there are cases where project names have been registered but not released yet. I tried to upload my project with a name that has not appeared on PyPI, but failed. It would be nice if one could check the availability of a package name on PyPI before preparing a release or when deciding a name for a new project.

There was pip search [package-name] but it’s scheduled to be deprecated some day. Besides, PyPI’s XMLRPC API is also disabled since it’s difficult to maintain at the moment.

There’re a couple of PyPI projects which checks if a registered name exists on PyPI, you could try them out, but I wouldn’t rely on them. You could also write your own simple wget or curl scripts.

Or like I’ve always done, just search for the keyword on If the keyword(s) exists then move on & look for another keyword.

@Jarmos I don’t believe any of those methods will work in the OP’s case. The name they’re trying to use genuinely is not listed on PyPI but still cannot be registered. I suspect someone uploaded a malicious package to that name in the past and it was blacklisted, a state that it not reflected in the PyPI APIs.


Thanks for your replies.

Further googling revealed that the package name was used for something related to “dropbox”. From the discussion in Projects automatically deleted from Pypi, I guess the package was deleted by admins and now the name is in the denylist. The question is how one can check if a name is in the denylist…

I implemented an API for Warehouse (PyPI) at Fixes #4703 Implement API for obtaining prohibited names by zooba · Pull Request #8533 · pypa/warehouse · GitHub but it’s become stalled, I think because we’re not adding new APIs until we’ve fixed all the existing ones.

If you’d like to jump on there and tell the team that you’d benefit from this, feel free.