Please Note: The IP 2 Company API is a standalone offering and is not included with our standard product plans. If you’d like to purchase or learn more about IP 2 Company, please answer a few quick questions so our team can reach out.

Authentication

Authentication is done via the API key which will be provided to you separately.

Requests are authenticated by passing your API key as a bearer token in an Authorization header.

curl --location --request POST 'https://app.snitcher.com/api/company/find?ip={IP}' \
--header 'Authorization: Bearer {key}' \
--header 'Accept: application/json'

Rate Limits

  • 600 requests per minute
Higher rate limits can be enabled on your account upon request. These are typically included within your contract terms.

Endpoint

The API endpoint is as follows:

https://app.snitcher.com/api/company/find?ip={IP}

Example Request

Here is an example of a curl request to this endpoint:

curl --location --request POST 'https://app.snitcher.com/api/company/find?ip={IP}' \
--header 'Authorization: Bearer {key}' \
--header 'Accept: application/json'

Response Codes

The Snitcher API uses standard HTTP status codes to indicate the success or failure of an API request. Below are examples of different responses you may encounter:

HTTP 429 - Rate Limit Exceeded

{
  "message": "Too Many Attempts."
}

HTTP 403 - Quota Exceeded

{
  "message": "You have exceeded your allowed quota. Please upgrade to a plan that allows more volume or wait for your billing cycle to reset."
}

HTTP 202 - Enrichment Queued

{
  "status": 202,
  "message": "Queued for enrichment. Please retry this request in a few seconds."
}

HTTP 200 - Identified Company Response

{
  "ip": "127.0.0.1",
  "fuzzy": true,
  "domain": "snitcher.com",
  "type": "business",
  "company": {
    "name": "Snitcher",
    "domain": "snitcher.com",
    "website": "https://snitcher.com",
    "industry": "Information Technology and Services",
    "founded_year": "2015",
    "employee_range": "2-10 employees",
    "annual_revenue": 2000000,
    "total_funding": null,
    "location": "Oude Enghweg 2, 1217 JC Hilversum, Netherlands",
    "description": "Snitcher supports B2B teams by identifying the company's anonymous website visitors work for.\n\n📈 Marketing teams optimize traffic quality and convert more ideal visitors without increasing budget.  \n\n🚀 Sales teams receive new leads and all the info they need to turn anonymous website traffic into customers.\n\n🤝 We believe great data is at the heart of growth. So, Snitcher offers market leading identification rates (2-3x industry averages). Meaning more deals, better insights, and improved retargeting.\n\nIf you'd like to know more, please head over to our website, and get started with a free trial.",
    "phone": "+1 (120) 261-5475",
    "geo": {
      "country": "Netherlands",
      "country_code": "NL",
      "state": "Noord-Holland",
      "state_code": "NH",
      "postal_code": "1217 JC",
      "city": "Hilversum",
      "street": "Oude Enghweg",
      "street_number": "2"
    },
    "profiles": {
      "crunchbase": {
        "handle": "snitcher",
        "url": "https://crunchbase.com/organization/snitcher"
      },
      "linkedin": {
        "handle": "snitcher",
        "url": "https://linkedin.com/companies/snitcher"
      },
      "facebook": {
        "handle": "",
        "url": null
      },
      "twitter": {
        "handle": "SnitcherHQ",
        "url": "https://twitter.com/SnitcherHQ"
      },
      "instagram": {
        "handle": "",
        "url": null
      },
      "youtube": {
        "handle": "",
        "url": null
      }
    }
  },
  "geoIP": {
    "country": "Netherlands",
    "country_code": "NL",
    "city": "Almere Stad",
    "state": "Flevoland"
  }
}

HTTP 404 - Non-Identified Response (ISP)

{
  "ip": "223.19.38.219",
  "fuzzy": false,
  "domain": null,
  "type": "isp",
  "geoIP": {
    "country": "Hong Kong",
    "country_code": "HK",
    "city": "Hong Kong",
    "state": "Hong Kong"
  }
}

Checking Usage

The API endpoint is as follows:

https://app.snitcher.com/api/company/usage

HTTP 200 - Example Response

{
  "status": "trial",
  "credits": {
    "total": 100,
    "used": 0,
    "remaining": 100
  },
  "billing_cycle": {
    "starts_at": "2025-03-23T14:10:04.000000Z",
    "ends_at": "2025-04-23T14:10:04.000000Z"
  }
}