GreyNoise Intelligence Community API

Endpoints for the community level users

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/greynoise-community-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

greynoise-community-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: GreyNoise Callback Community API
  version: 3.0.0
  description: GreyNoise is a cybersecurity company that collects and analyzes Internet-wide scan and attack traffic. Use GreyNoise to contextualize existing alerts, filter false-positives, identify compromised devices, and track emerging threats.
  contact:
    email: hello@greynoise.io
  license:
    name: Proprietary
    url: https://www.greynoise.io/terms
servers:
- url: https://api.greynoise.io
  description: Production
security:
- APIKeyHeaderAuth: []
tags:
- name: Community
  description: Endpoints for the community level users
paths:
  /v3/community/{ip}:
    get:
      operationId: getCommunityIP
      parameters:
      - $ref: '#/components/parameters/ip'
      tags:
      - Community
      summary: Community API
      description: 'The Community API provides community users with a free tool to

        query IPs in the GreyNoise dataset and retrieve a subset of the full

        IP context data returned by the IP Lookup API.

        '
      responses:
        '200':
          description: Query was successful, Community API found either a RIOT or Noise record for submitted IP address.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunityResponse'
              examples:
                GetCommunityIP200Example:
                  summary: Default getCommunityIP 200 response
                  x-microcks-default: true
                  value:
                    ip: 1.2.3.4
                    noise: false
                    riot: true
                    classification: benign
                    name: Cloudflare
                    link: https://viz.greynoise.io/riot/1.2.3.4
                    last_seen: '2020-01-01'
                    message: Success
        '400':
          description: 'The IP address submitted is not a valid routable IPv4 address.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request is not a valid routable IPv4 address
              examples:
                GetCommunityIP400Example:
                  summary: Default getCommunityIP 400 response
                  x-microcks-default: true
                  value:
                    message: Request is not a valid routable IPv4 address
        '404':
          description: The community API was unable to find a record for the requested IP address.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ip:
                    type: string
                    example: 1.2.3.4
                  noise:
                    type: boolean
                    example: false
                  riot:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: IP not observed scanning the internet or contained in RIOT data set.
              examples:
                GetCommunityIP404Example:
                  summary: Default getCommunityIP 404 response
                  x-microcks-default: true
                  value:
                    ip: 1.2.3.4
                    noise: false
                    riot: false
                    message: IP not observed scanning the internet or contained in RIOT data set.
        '429':
          description: Predefined rate-limit has been reached
          content:
            application/json:
              schema:
                type: object
                properties:
                  plan:
                    type: string
                    example: unauthenticated
                  rate-limit:
                    type: string
                    example: 100-lookups/day
                  plan_url:
                    type: string
                    example: https://greynoise.io/pricing
                  message:
                    type: string
                    example: 'You have hit your daily rate limit of 100 requests per day. Please create a free account or upgrade your plan at https://greynoise.io/pricing.

                      '
              examples:
                GetCommunityIP429Example:
                  summary: Default getCommunityIP 429 response
                  x-microcks-default: true
                  value:
                    plan: unauthenticated
                    rate-limit: 100-lookups/day
                    plan_url: https://greynoise.io/pricing
                    message: 'You have hit your daily rate limit of 100 requests per day. Please create a free account or upgrade your plan at https://greynoise.io/pricing.

                      '
        '500':
          $ref: '#/components/responses/UnexpectedError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    ip:
      name: ip
      in: path
      description: IP address to query
      required: true
      schema:
        type: string
      example: 8.8.8.8
  responses:
    UnexpectedError:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Encountered error while performing request
  schemas:
    CommunityResponse:
      type: object
      properties:
        ip:
          type: string
          example: 1.2.3.4
        noise:
          type: boolean
          example: false
        riot:
          type: boolean
          example: true
        classification:
          type: string
          example: benign
        name:
          type: string
          example: Cloudflare
        link:
          type: string
          example: https://viz.greynoise.io/riot/1.2.3.4
        last_seen:
          type: string
          example: '2020-01-01'
        message:
          type: string
          example: Success
    Error:
      type: object
      properties:
        message:
          type: string
          example: Success
      required:
      - message
  securitySchemes:
    APIKeyHeaderAuth:
      type: apiKey
      in: header
      name: key
      description: GreyNoise API key passed via the 'key' HTTP header.