Proxycurl Search May 2023 - Results Now 67% Cheaper & More

📢
As of 1 March 2024, we've deprecated this initial version - the Search API V1, and launched the Search API V2, with some amazing updates:
• No more regexes, now on Boolean search
• No more 35-credit base costs, it's now just 3 credits/result - much much cheaper!
• Much faster search speed
Check out the announcement post here.

When we first announced Proxycurl Search last month, we told you we were just getting started. Now we're making good on that promise with a huge update, including:

  • Search is now over 67% cheaper per result returned!
  • Enrichment is now live
  • You can now search companies by funding data
  • You can now search people by current employment data
  • and more!

Search is now over 67% cheaper per result returned!

You read that right - we're reducing the credit cost of Proxycurl Search.

  • Before: 35 Credits Base + 10 Credits / Result
  • NOW: 35 Credits Base + 3 Credits / Result

Proxycurl Search is for when your use case requires a large amount of data but not quite the huge scale that LinkDB provides. It's an intermediate offering. But we heard from you: Our initial cost for Search wasn't working. It was too expensive. So we're responding to you and lowering costs to meet your needs.

Let's do the math

If you're using Search to its fullest capacity as a Search+Sample product, you're getting 20,000 results at a time. At such volumes, the 35 credit base cost rounds to 0, and we've reduced the full cost by over two-thirds (67%). If you're on our highest-tier monthly plan, a query returning 20,000 results would've cost you $1,800.315. That same query now would cost you $540.315.

  • Before: 20,000 profiles for $1,800 (rounded to the nearest dollar)
  • NOW: 20,000 profiles for $540 (rounded to the nearest dollar)

Enrichment now live

We've added the parameter enrich_profiles=enrich to both the Company Search Endpoint and the Person Search Endpoint. You can now enrich profiles as you search for them!

Here's an example query using the Company Search Endpoint:

import json, os, requests
api_key = os.environ['PROXYCURL_API_KEY']
headers = {'Authorization': 'Bearer ' + api_key}

company_endpoint = 'https://nubela.co/proxycurl/api/search/company'
params = {
    'employee_count_max': '1250',
    'industry': 'Medical Equipment Manufacturing',
    'enrich_profiles': 'enrich',
    'page_size': '1'
}
response = requests.get(company_endpoint, params=params, headers=headers)
print(json.dumps(response.json()))

And here's the response, which I've shortened with [snip]:

{
  "results": [
    {
      "linkedin_profile_url": "https://www.linkedin.com/company/varex-imaging-nederland",
      "profile": {
        "linkedin_internal_id": "12983633",
        "description": "[snip]",
        "website": "https://www.werkenbijvarex.nl/",
        "industry": "Medical Equipment Manufacturing",
        "company_size": [51, 200],
        "company_size_on_linkedin": 91,
        "hq": {
          "country": "NL",
          "city": "Doetinchem",
          "postal_code": "7005 AP",
          "line_1": "Fabriekstraat 41",
          "is_hq": true,
          "state": "Gelderland"
        },
        "[snip]"
      }
    }
  ],
  "next_page": "some_url"
}

We've snipped a lot out of this result; the complete result is available on our GitHub.

Search companies by funding data

Interested in querying a company's funding? We've added 4 new funding-related parameters that you can filter based on to the Company Profile Endpoint.

They are:

  • funding_amount_min
  • funding_amount_max
  • funding_raised_after
  • funding_raised_before

Let's look at a use case from our Search announcement. Then, it was hypothetical. Now, you can do it.

Use case: Companies' funding history

Say you work for a VC/investment firm. You're looking for a company that other investors are giving money to, since this signals that the company in question is doing well, and you might want to invest as well. In this use case, we'll list privately-held companies founded since 2019 that have raised money in the past two years. Furthermore, we'll require that they've raised at least $5 million USD to date.

Here's the query:

import json, os, requests
api_key = os.environ['PROXYCURL_API_KEY']
headers = {'Authorization': 'Bearer ' + api_key}

company_endpoint = 'https://nubela.co/proxycurl/api/search/company'
params = {
    'type': 'PRIVATELY_HELD',
    'founded_year_after': '2019',
    'funding_raised_after': '2021-04-01',
    'funding_amount_min': '5000000'
}
response = requests.get(company_endpoint, params=params, headers=headers)
print(json.dumps(response.json()))

Please note that the parameter name funding_amount_min differs from our anticipated funding_amount to fit better with our naming conventions. We hope the new name adds clarity!

Search people by current employment data

There are 16 new parameters in the Person Search Endpoint!

Here's a list:

  • current_company_country
  • current_company_region
  • current_company_city
  • current_company_type
  • current_company_follower_count_min
  • current_company_follower_count_max
  • current_company_industry
  • current_company_employee_count_max
  • current_company_employee_count_min
  • current_company_description
  • current_company_founded_after_year
  • current_company_founded_before_year
  • current_company_funding_amount_min
  • current_company_funding_amount_max
  • current_company_funding_raised_after
  • current_company_funding_raised_before

When we wrote about uncovering stealth startups, we noted that you might want to use the parameter current_company_employee_count_max to find people currently working for startups (especially stealth startups). Now you can filter based on all kinds of information about where people currently work.

Use case: Founders of small companies

Now that you can filter based on someone's current company size, here's the updated code sample to look for likely founders of stealth startups who are currently working at small companies:

import json, os, requests
api_key = os.environ['PROXYCURL_API_KEY']
headers = {'Authorization': 'Bearer ' + api_key}

person_endpoint = 'https://nubela.co/proxycurl/api/search/person'
params = {
    'current_company_name': '^(?!(^Stealth$)|(.*Stealth.*Startup.*))',
    'current_role_after': '2021-04-01',
    'current_company_employee_count_max': '50',
    'education_school_name': '^(Brown University|Columbia University|Cornell University|Dartmouth College|Harvard University|University of Pennsylvania|Princeton University|Yale University)$',
    'past_role_title': '(?i)founder'
}
response = requests.get(person_endpoint, params=params, headers=headers)
print(json.dumps(response.json()))

Search is now 10% faster

If you're doing a URL-only query (no enrich_profiles), the query should be about 10% faster on average.

Generally, queries with enrichment (enrich_profiles=enrich) will be slower, since we have to make extra queries on our end to show you that data. Therefore, their performance falls into a different category, and since this is a brand-new feature, we don't have any benchmark changes for them.

Bug fixes & QOL updates

We made some minor bug fixes & QOL improvements:

  • Your input to the country fields will now be automatically capitalized.
  • We're throwing a nicer error if you give us an invalid regular expression in a field that expects a regex.
  • There are a bunch of improvements to the docs for both the Company Search Endpoint & the Person Search Endpoint.
    • In particular, we improved some examples to demonstrate the (?i) syntax (for case-insensitive regular expressions).
  • There are a few more minor bug fixes, but those are the important items 🙂

Further reading

Finally, here's another blog post that you might be interested in reading, or at least bookmarking for later. See: Regular Expressions & the Proxycurl Search API.

To stay in the loop for more posts like this, join our mailing list! We'll let you know any time we publish a guide to using one of our endpoints.

Right now, Search data (when you filter) is still from a January LinkDB snapshot, not as up-to-date as the current LinkDB snapshot. But we will start updating it continuously from LinkDB as soon as we can. We'll let you know as soon as this feature is pushed. (When you enrich_profiles, you're already on the most recent snapshot, so right now the enrich_profiles data may slightly disagree with the filtering parameters.)

This isn't the only thing on our roadmap, but it's what we're able to share for now. To make sure you don't miss our next update, subscribe to our mailing list!

Search now!

The 67% reduced price is already live. Head on over to your dashboard to top up if needed, and start writing some queries!