Package: pycrunchbase
Python bindings to CrunchBaseStarting from v0.3.0, pycrunchbase has support for CrunchBase API version 3,
but things are still flaky,
so any kind of bug reports is greatly appreciated,
for detail see notes below.Note: I currently do not need to use this library, so it’s feature-complete for me.
Bug reports are welcome, and pull requests for features are still accepted.ExamplesInitialize the API using your API Key, will throw ValueError if missingcb = CrunchBase(API_KEY)Look up an organization by namegithub = cb.organization('github')The response contains snippets of data regarding relationships
that the organization has, an example is the funding_roundsfunding_rounds_summary = github.funding_roundsAll relationships are paged, and only 8 is returned initially
to get more data do this, it handles paging for you
and returns a False-y value if there are no more pagesmore_funding_rounds = cb.more(funding_rounds_summary)Data in relations are just summaries, and you probably want more details
For example funding_rounds returns 5 values: type, name, path
created_at, updated_at.If you actually want to know who invested, you have to get to make
more API calls.First get the uuid of the roundround_uuid = funding_rounds_summary[0].uuidThen use the CrunchBase API to make that callround = cb.funding_round(round_uuid)Again, investments is a relationship on a FundingRound,
so we can get the first item in that relationshipan_investor = round.investments[0]  # a InvestmentAnd printing that gives us the name of the investor, and the amount
invested in USDprint(str(an_investor))  # prints: Investment: [Organization: Name]Installationpip install pycrunchbaseDocumentationhttps://readthedocs.org/projects/pycrunchbase/DevelopmentTo run the all tests run:toxContributions are always welcome! Visit pycrunchbase’sHomepage <https://github.com/ngzhian/pycrunchbase/>UseGitHub issuesto report a bug or send feedback.The best way to send feedback is to file an issue athttps://github.com/ngzhian/pycrunchbase/issues.ContributorsThanks to these contributors:dustinfarrisGoalsSupport all (or almost all) of CrunchBase’s API functionalitiesSpeedy updates when CrunchBase’s API changes‘Pythonic’ bindings, user doesn’t feel like we’re requesting URLsNotes on CrunchBase version 3 changesIn version 3, CrunchBase changed the names of some endpoints, e.g person -> people, and they
have gone with the plural form of all entities. pycrunchbase does not adhere strictly to that.
For example, there is still apersonmethod, but apeoplemethod is also provided
so that it remains backwards compatible and also supports methods that matches the name
of the entity.LicenseMITChangelog0.3.9 (2020-12-02)
* FLexible requests/six versions (#35)0.3.8 (2017-2-9)
* Fix #26 encode url if it has special entities0.3.7 (2016-1-13)
* Addedprofile_image_urlknown property toOrganization,Person, andProductper CB-5541 bugfix from 2015-10-21
* Addedfeatured_teamrelationship forOrganizationper Crunchbase change on 2016-06-22
* Added known propertiesis_currentforJobandis_lead_investorforInvestmentper CB-9048 on 2016-10-14
* Fixed typos inaddnode.rst* Added David Tran toAUTHORS.rst0.3.6 (2015-10-21)
* Alias ‘PressReference’ to news
* Fix checking for the type of a PageItem, use lowercase compare
* Update test data, those were out of sync with what CrunchBase no returns. Specifically the test data for Fund and Relationship (Organization.past_team)0.3.5 (2015-09-28)
* Fixed handling null rleationships that api returns
* Update setup.py release alias0.3.4 (2015-09-27)
* Fixed instructions in usage.rst (#20)
* Support nested relationships FundingRound -> Investments -> Organization
* Update README0.3.3 (2015-08-29)Addedstock_exchangeas a known property ofOrganization, ref#19 <https://github.com/ngzhian/pycrunchbase/issues/19>0.3.2 (2015-07-25)New resource type StockExchange (fixes #18)Better__str__for IPO0.3.1 (2015-05-25)Bug fix when relationship data returned from crunchbase is[null]. Thanks @karlalopez0.3.0 (2015-05-01)Updated to support version 3 of CrunchBase APIFix endpoint urls, e.g. ‘funding-round’ -> ‘funding-rounds’Internal cleanups, Page now subclass Relationship0.2.7 (2015-04-23)Fixed: #9sub_organizationandwebsitesrelationship ofOrganization0.2.6 (2015-04-13)Fixed: #8 printingPageItemleads to unbounded recursion (@dustinfarris)0.2.5 (2015-04-04)Added: Locations - get a list of active locations from CrunchBaseAdded: LocationPageItem - each location in the Page of LocationsAdded: Categories - get a list of active categories from CrunchBaseAdded: CategoryPageItem - each location in the Page of Categories0.2.4 (2015-04-03)Added: IPO - you can now use a uuid to grab IPO data0.2.3 (2015-03-01)Fix: Travis builds and tests0.2.2 (2015-02-25)Fix: Unicode output (using UTF-8 encoding)0.2.1 (2015-02-21)Fix__version__0.2.0 (2015-02-15)The API is now considered relativelystabled. Updated the classifier to
reflect soChange to howCrunchBase.morereacts to aRelationship, we no longer
optimize when theRelationshiphas all items, just callfirst_page_url0.1.9 (2015-02-15)Addseriesto theFundingRoundnode.0.1.8 (2015-02-15)Update__str__for nodes and relationships0.1.7 (2015-02-15)Relationshipis now a subclass ofPage, although this strictly isn’t true.
The benefit is that this allows us to reuse a lot of logic.
Relationship can be thought of as Page 0, which is a summary of potentially
multiple pages ofPageItem. The only time we get a relationship is when we
query for a particularNode, e.g. organiation, and we grab the relationships
returned by the API. After this, to get more details we callCrunchbase.more,
and this returns us aPage.Added__repr__methods to all theNode,Relationship,PageItem.
Previously we only defined__str__, but these didn’t show up in places
like the REPL. This fixes that. We try to make it obvious what object it is
based on what is printed, but also don’t want to be too verbose.0.1.6 (2015-02-15)InvestorInvestmentPageItemnow has the possibility of being either ainvestor, or ainvested_inrelationshipPropogates any exception when making the actual HTTP call to CrunchBase0.1.5 (2015-02-13)Add acb_urlattribute for all PageItem, this url is a CrunchBase page
(not the API) that holds more information for a particular PageItem
Allows you to make calls like:company.funding_rounds[0].cb_urlto get the url of the page for the first funding round ofcompany.A new page item, InvestorInvestmentPageItem, that is useful for FundingRound info:round = cb.funding_round('round_uuid')
an_investor = round.investments[0]  # a InvestorInvestmentPageItem
print(str(an_investor))  # prints: Investor Name $100000Add simplified Contribution guidelines in README0.1.4 (2015-02-13)Relationship retrieval is 0-based now, 1-based just doesn’t fit well with arrayBetter__str__forNodeandRelationshipRelationship.get(i)ifiis too large or small will return a NonePageItem singleton0.1.3 (2015-02-12)Fix Relationship: wasn’t using the right build method of PageItemAdd test to checkk for the aboveremove unused reference to CrunchBase in Relationship0.1.2 (2015-02-12)PageItem and it’s subclasses to represent an item within a relationship
of a NodeCleanup of where utility methods live (parse_date)More tests as always, overall 98.21% coverage0.1.0 (2015-02-21)First release on PyPI.