Datanyze Customer Success

Take your Datanyze skills to the next level. Watch videos, learn best practices, enjoy training materials, connect with others, share ideas and request support.

The Datanyze Webhook In Marketo


You must have access to the Datanyze API in order to access the functionality listed in this article. You’ll also need access to Marketo’s webhook functionality, which might not be available in all plans.

The Datanyze API can be used to build a webhook within Marketo, enabling marketers to leverage Datanyze data for campaigns, lead routing, and other marketing processes.

What’s in this article:

  • Creating custom Marketo fields
  • Getting your base URL
  • Creating the webhook
  • Mapping the fields
  • Activating the webhook using a Smart Campaign
  • Backfilling data retroactively
  • Understanding the nuances and error messages

Creating custom Marketo fields

  1. Login to Marketo.
  2. Go to the Admin panel by clicking Admin in the top-right corner.
  3. Click Field management in the left navigation menu.
  4. Click New Custom Field.
  5. Fill out the Type, Name and API name fields.
  6. Click Create to create the new custom field.pasted_image_0.png

Here are some of the most popular custom fields with (their respective field types) that our customers use (you can see the full list in the 'Datanyze fields' section of the Appendix below):

  • domain.domain_techs [textarea]
  • domain.alexa_rank [integer]
  • domain.revenue [string]

Getting Your Base URL

In order to create the webhook in Marketo, we need to get a base URL from Datanyze. To find your base URL, do the following:

  1. Login to Datanyze.
  2. Go to your integrations settings panel by clicking your email address in the top-right corner, then click Settings, then clicking on the API tab.
  3. Click on the Marketo Webhook section.
  4. Copy the Sample URL link to your clipboard.pasted_image_0__1_.png

Creating the Webhook

  1. Login to Marketo.
  2. Go to the Admin panel by clicking Admin in the top-right corner.
  3. Click Webhooks in the left navigation menu.
  4. Click New Webhook.
  5. Name your webhook (example: Datanyze Webhook).
  6. Fill out the Description field for your webhook (optional).
  7. Paste your base URL (from Step #4 of “Getting Your Base URL” section above) in the URL field.
  8. Making sure the cursor is blinking at the end of the URL, click INSERT TOKEN.
  9. Select the field that contains the website or email address you're sending to Datanyze to get data on.
  10. Delete :default=edit me that is automatically added to the inserted token -- the final URL should look something like this (addition from #7 in green):<your_API_token>&lead_email={{lead.Email Address}}.
  11. Change the Request type field from POST to GET.
  12. Change the Response type field to JSON.
  13. Click Createpasted_image_0__2_.png

Mapping the fields

Now that your webhook has been set up, you'll need to map the data you get back from Datanyze to the appropriate fields in Marketo. To do this, follow these instructions:

  1. Login to Marketo.
  2. Click the Edit button next to the Response mappings box.
  3. Click Add.
  4. In the Response Attribute field, select the Datanyze field that you want to map (you can see the full list in the ‘Datanyze fields’ section of the Appendix below).
  5. In the Marketo Field field, select the Marketo field that you want to map the Datanyze data to.
  6. Click Save.
  7. Repeat steps 1-5 above for each field that you want to map.pasted_image_0__3_.png

Activating the Webhook Using a Smart Campaign

With your webhook now created, you'll need to "turn it on". To do this, follow these instructions:

  1. Login to Marketo.
  2. In Marketo, click the Marketo logo in the top-left corner, then click Marketing Activities from the drop-down menu.
  3. Click New Smart Campaign.
  4. Select the folder for your Smart Campaign and give it a name (ex: "Enrich with Datanyze") and optionally, a description.
  5. Click CREATE.pasted_image_0.png
  6. Click Smart List from the top navigation menu.
  7. Drag Lead is Created from the right panel and drop it into the main panel.
  8. Drag Data Value Changes from the right panel and drop it into the main panel, then select Email address from the Attributes drop-down menu.
  9. Change Use ALL filters to Use ANY filters.
  10. Click Flow in the top-navigation menu (located next to 'Smart List').
  11. Drag Call Webhook from the right panel and drop it into the main panel.
  12. Select your newly created webhook from the drop-down menu.
  13. Click Schedule form the top navigation menu (location next to 'Flow’).
  14. Click ACTIVATE (and click it again in the modal to confirm).pasted_image_0__5_.png

Backfilling Data Retroactively

Once you've activated the Datanyze webhook in Marketo, your new leads will automatically start being enriched with Datanyze technographic and firmographic data. In order to backfill your existing leads retroactively, you'll need to follow these instructions:

  1. Click Campaign Actions, then click Clone.
    Select the folder for your Smart Campaign and give it a name (ex: "Backfill enrich with Datanyze") and optionally, a description.
  2. Click Special filters in the right panel to expand the list.
  3. Drag Member of Smart Campaign from the right panel and drop it into the main panel.
  4. Change in to not in and select Enrich with Datanyze from the drop-down menu to the right.
  5. Follow steps 9-14 from the Activating the Webhook Using a Smart Campaign section above.

Understanding the Nuances and Error Messages

There are a few things to keep in mind while setting up and using the Datanyze Webhook in Marketo:

  • Some Datanyze data points have multiple fields, giving you more flexibility for how to consume the data. For example, a domain's country can be accessed using the field (ex: "USA"), the domain.country_full_name field (ex: "United States"), domain.country_iso2 field (ex: "US"), or domain.country_iso3 field (ex: "USA")
  • Some Datanyze data points offer a boolean field. For example, finding out if a domain is owned by a publicly traded company can be done with the domain.is_public field (ex: "YES"/"NO") or the domain.is_public_bool field (ex: "true"/"false")
  • There are two situations when Datanyze might throw an application-level error:
    • “Error 103” means Datanyze does not track this domain ("Requested domain is not found")
    • “Error 400” means the 'lead_email' parameter has no value. For example error messages, see the 'Error messages' section of the Appendix below


  • Datanyze fields [field type]
  • domain.domain [URL]
  • domain.address [string]
  • [string]
  • domain.state_code [string]
  • domain.state_full [string]
  • domain.zip_code [string]
  • [phone or string]
  • domain.year_founded [integer]
  • domain.funding [string]
  • domain.employees [string] (0-25, 25-100, 100-250, etc.)
  • domain.employees_drop [integer] (1, 2, 3, etc.)
  • domain.employees_int [integer] (25, 100, 250, etc.)
  • [string]
  • domain.is_public [string] (yes/no)
  • domain.is_public_bool [boolean] (true/false)
  • domain.overview [textarea]
  • domain.revenue [string] ($0-1M, $1-10M, $10-50M, etc.)
  • domain.revenue_drop [integer] (1, 2, 3, etc.)
  • domain.revenue_int [integer] (1000000, 10000000, 50000000, etc.)
  • domain.alexa_rank [integer]
  • domain.datanyze_tracks [string] (true/false) -- is this the domain for a technology that Datanyze tracks?
  • (ex: "USA") [string]
  • domain.country_full_name [string] (ex: "United States")
  • domain.country_iso2 (ex: "US") [string]
  • domain.country_iso3 (ex: "USA") [string]
  • domain.monthly_technology_spend [string]
  • domain.twitter [string] -- Twitter handle
  • domain.twitter_followers [integer]
  • domain.domain_techs [textarea] -- technologies being used by this domain
  • domain.domain_history [textarea] -- a history of technology adds/drops for this domain
  • domain.app_techs [textarea]
  • domain.app_techs_history [textarea]
  • domain.largest_app_installs_range [string]
  • domain.largest_app_installs_int [integer]
  • domain.all_apps_installs_range [string]
  • domain.all_apps_installs_int [integer]
  • domain.app_categories [textarea]
  • domain.alexa_rank_average [integer] -- average Alexa rank for this domain over the last month
  • domain.social_urls [textarea]

Error Messages

  • “Error 103”: {"error":103,"message":"Requested domain was not found"} -- the domain parsed from the lead email is not valid
  • “Error 400”: {"error":400,"message":"Missing required parameter(s)","params":["lead_email"]} -- for some reason, Datanyze is not being passed a valid email address that is required to return data
  • “Error 114”: {"error":114,"message":"Throttle limit is reached"} -- you have used too many API calls over the hour, day, week or month; please reach out to for more information

Related Articles

  • Datanyze Webinars
  • Datanyze Browser Extension (Insider)
  • Targeting
  • Alerts
  • Tags
  • Integrations
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request