Skip to content

apiverve/action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

APIVerve GitHub Action

Access 350+ production-ready REST APIs directly in your GitHub workflows.

Beta Release - This action is in beta. We'd love your feedback! Open an issue if you encounter any problems.

GitHub Marketplace APIs License: MIT

Browse All APIs | Get Free API Key | Documentation


What is APIVerve?

APIVerve is a platform that provides 350+ production-ready REST APIs for developers. Instead of building and maintaining common functionality yourself, you can call our APIs to handle tasks like:

  • Generating QR codes and barcodes for your releases and documentation
  • Capturing website screenshots for visual testing and previews
  • Looking up DNS records, SSL certificates, and domain info for monitoring
  • Validating emails, phone numbers, and other data before processing
  • Converting documents (HTML to PDF, Markdown to PDF, etc.)
  • Checking IP geolocation and reputation for security workflows

All APIs are fast, reliable, and designed for developer workflows - including CI/CD pipelines.


What does this GitHub Action do?

This action lets you call any of APIVerve's 350+ APIs directly from your GitHub workflows. With a single action, you can:

  • Generate assets - Create QR codes, screenshots, PDFs, and more as part of your build
  • Validate and verify - Check DNS propagation, SSL certificates, email addresses
  • Monitor infrastructure - Track domain expiration, DNS records, SSL status
  • Enrich data - Look up IP locations, parse phone numbers, detect languages
  • Automate checks - Spell check docs, validate content, run security checks

One action. 350+ APIs. No separate integrations needed.


Quick Start

- name: Generate QR Code
  uses: apiverve/action@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: qrcodegenerator
    params: '{"value": "https://github.com/${{ github.repository }}", "size": 300}'
    output_file: ./qrcode.png

Setup

1. Get Your API Key

Sign up for a free account at dashboard.apiverve.com/signup and create an API key.

2. Add Secret to Repository

Go to your repository SettingsSecrets and variablesActionsNew repository secret

  • Name: APIVERVE_KEY
  • Value: Your API key from the dashboard

3. Use in Workflow

Option A: Pass API key per step

- name: Call APIVerve
  uses: apiverve/action@v0
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: dnslookup
    params: '{"domain": "example.com"}'

Option B: Set API key once via environment variable

jobs:
  example:
    runs-on: ubuntu-latest
    env:
      APIVERVE_API_KEY: ${{ secrets.APIVERVE_KEY }}
    steps:
      - name: Check DNS
        uses: apiverve/action@v0
        with:
          api: dnslookup
          params: '{"domain": "example.com"}'

      - name: Check SSL
        uses: apiverve/action@v0
        with:
          api: sslchecker
          params: '{"domain": "example.com"}'

Inputs

Input Description Required Default
api_key Your APIVerve API key (or set APIVERVE_API_KEY env var) Yes* -
api API to call (e.g., qrcodegenerator, dnslookup) Yes -
params JSON parameters for the API No {}
output_file Path to save binary output (images, PDFs) No -
format Response format: json, yaml, or xml No json
fail_on_error Fail workflow if API returns error No true

*API key is required but can be provided via input OR APIVERVE_API_KEY / APIVERVE_KEY environment variable.

Outputs

Output Description
result Full API response as JSON
data The data field from response as JSON
status API status (ok or error)
file Path to downloaded file (if output_file was used)

Examples

Generate QR Code for Releases

Automatically add a QR code linking to each release:

name: Release with QR
on:
  release:
    types: [published]

jobs:
  add-qr:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Generate release QR code
        uses: apiverve/action@v1
        with:
          api_key: ${{ secrets.APIVERVE_KEY }}
          api: qrcodegenerator
          params: '{"value": "https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}"}'
          output_file: ./release-qr.png

      - name: Upload QR to release
        uses: softprops/action-gh-release@v1
        with:
          files: ./release-qr.png

Monitor Domain Expiration

Get notified before your domains expire:

name: Domain Monitor
on:
  schedule:
    - cron: '0 9 * * 1'  # Every Monday at 9am

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - name: Check domain expiration
        id: domain
        uses: apiverve/action@v1
        with:
          api_key: ${{ secrets.APIVERVE_KEY }}
          api: domainexpiration
          params: '{"domain": "mycompany.com"}'

      - name: Alert if expiring soon
        if: fromJson(steps.domain.outputs.data).daysUntilExpiration < 30
        run: |
          echo "::warning::Domain expires in ${{ fromJson(steps.domain.outputs.data).daysUntilExpiration }} days!"

Validate DNS After Deployment

Verify your DNS is configured correctly after infrastructure changes:

- name: Check DNS propagation
  id: dns
  uses: apiverve/action@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: dnspropagation
    params: '{"domain": "api.mycompany.com", "type": "A"}'

- name: Verify propagation
  run: echo "Propagation: ${{ steps.dns.outputs.data }}"

Screenshot Documentation Site

Capture screenshots for visual regression testing or previews:

- name: Capture screenshot
  uses: apiverve/action@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: webscreenshots
    params: '{"url": "https://docs.example.com", "width": 1280, "height": 800}'
    output_file: ./docs-screenshot.png

Check SSL Certificate Status

Monitor SSL certificate expiration:

- name: Check SSL
  id: ssl
  uses: apiverve/action@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: sslchecker
    params: '{"domain": "mycompany.com"}'

- name: Alert if expiring
  if: fromJson(steps.ssl.outputs.data).daysUntilExpiration < 14
  run: echo "::error::SSL certificate expires soon!"

Generate PDF Reports

Convert webpages or markdown to PDF:

- name: Generate PDF
  uses: apiverve/action@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: websitetopdf
    params: '{"url": "https://example.com/report"}'
    output_file: ./report.pdf

Popular APIs for CI/CD

Category APIs
QR & Media qrcodegenerator, qrcodereader, webscreenshots, websitetopdf, barcodegenerator
DNS & Domain dnslookup, dnspropagation, domainexpiration, domainavailability, whoislookup
SSL & Security sslchecker, dnsseccheck, botdetector, ipblacklistlookup
Email Validation emailvalidator, emaildisposablechecker, spfvalidator, dkimvalidator, dmarcvalidator
IP & Network iplookup, ipdemographics, reversednslookup, asnlookup
Documents htmltopdf, markdowntopdf, websitetopdf
Text & Content spellchecker, grammarcheck, sentimentanalysis, contentfilter

Browse all 350+ APIs →


Pricing

  • Free tier - Get started with generous free limits
  • Pro plans - Higher rate limits and priority support for production use

Check out pricing details.


Resources


License

MIT - see LICENSE


Built by APIVerve - 350+ APIs for developers

About

Official GitHub Action to access 350+ production-ready APIs in your workflows - QR codes, screenshots, DNS, weather, IP lookup, and more

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors