API Ninjas

com.api-ninjasPublished by api-ninjas.comOfficial publisherv1.0.0Updated Oct 26, 2026

140+ data APIs for agents: finance, banking validation, geo, weather, text. One API key.

VerifiedStreamable HTTPWeb executableLocation & LifestyleFinanceData & Analytics

Overview

AI-generated overview

Remote MCP endpoint exposing API Ninjas' 140+ data APIs, letting an assistant look up finance, banking, aviation, geo, weather and reference data with one API…

What you can do
  • Look up finance and company data: SEC balance sheet and cash flow filings, Bitcoin price and historical series, Bitcoin treasury positions
  • Validate and search banking details: BIN/issuer lookup, Australian BSB and Canadian routing numbers, bank holidays
  • Query aviation and travel data: aircraft specs, airlines, airports, code conversion, distances and nearest-airport search
  • Retrieve geo, weather and reference facts: air quality, animals, cats, cars and their makes/models/generations, baby names, celebrities
  • Generate barcodes and pull small utilities: random advice, bucket list ideas, Chuck Norris jokes, calories burned
  • Check your own API usage analytics
When to use it
Useful when an assistant needs broad, ready-made factual lookups across finance, banking validation, aviation, weather and reference data without wiring up many separate APIs. A good fit for agents that need occasional structured lookups rather than deep work in one domain.
Requirements
Remote streamable HTTP endpoint at mcp.api-ninjas.com; no local install. Requires an API Ninjas API key sent in the X-Api-Key header; a free key can be registered. Many tools (airport lists, distances, suggestions, car makes/models/generations, balance sheet and cash flow availability, Canadian routing search, city-based air quality) need a paid or premium subscription.
Before you install
The API key is a secret sent in the X-Api-Key header; keep it out of logs and shared transcripts. Calls count against your API Ninjas plan quota, and premium-only tools fail or are restricted on the free tier. The usage analytics tool takes the API key as a query parameter. Lookups such as BIN and routing numbers send identifiers to a third-party service.

Installation

In SourceWeft

  1. Open API Ninjas in the dashboard and add it to a workspace.
  2. Connect X-Api-Key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.api-ninjas%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "api-ninjas": {
      "type": "http",
      "url": "https://mcp.api-ninjas.com/mcp",
      "headers": {
        "X-Api-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

Tools

200

getAdvice

Returns one random piece of life advice, drawn from a set of over 5000 entries. Takes no parameters and returns a different result each call.

Takes no parameters.

getAirQuality

Returns the Air Quality Index plus CO, NO2, O3, SO2, PM2.5 and PM10 concentrations for a location. Requires a `city` or `lat`/`lon`; `state` and `country` disambiguate city names. Searching by `city` is premium only; free-tier requests can use `lat`/`lon`.

Parameterslatloncitystatecountry

getAircraft

Returns airplane specs matching the given filters, or decodes an ICAO (icao=A20N) or IATA (iata=32N) aircraft type code. At least one parameter other than limit is required. Helicopter specs: /v1/helicopter.

Parametersiataicaolimitmodelmax_rangemax_speedmin_rangemin_speedmax_heightmax_lengthmin_heightmin_length+4 more

getAirlines

Returns general and fleet information for airlines matching an ICAO code, IATA code, or name. At least one of `icao`, `iata`, or `name` must be set.

Parametersiataicaoname

getAirports

Returns airports matching filters such as IATA/ICAO code, name, city, country, region, elevation, size, or runway length. `name`, `city`, `region` and `q` are premium only; the other filters, `limit` and `offset` work on any plan. For typeahead suggestions use /airportsuggest.

Parametersqcityiataicaonamesizesortlimitorderoffsetregioncountry+5 more

getAirportsList

Returns a paginated list of airport codes and names. For filtered airport detail use /airports. Requires a premium subscription.

Parametersoffset

convertAirportCode

Converts an airport code between IATA and ICAO. Pass exactly one of `iata`, `icao`, or `code` (auto-detected). Requires a premium subscription.

Parameterscodeiataicao

airportDistance

Calculates great-circle distance, initial bearing, and estimated flight time between two airports. Requires `from` and `to`. Requires a premium subscription.

Parameterstorequiredfromrequiredunits

airportSuggest

Returns autocomplete suggestions for airport search, matching IATA, ICAO, name, and city. Requires a `q` of at least 2 characters. Requires a premium subscription.

Parametersqrequiredsizelimitcountry

closestAirport

Returns the airports nearest a coordinate, sorted by airport size then by distance. Requires `lat` and `lon`. Requires a premium subscription.

Parameterslatrequiredlonrequiredsizelimitunitsradiushas_iatamin_runway_length

getAnalytics

Returns usage analytics and API call history for your own account, including which APIs you call most. Requires `api_key` as a query parameter. Calls here do not consume quota.

Parametersapi_keyrequired

getAnimals

Returns scientific facts about animal species whose common name matches the search term, including partial matches. Requires `name`.

Parametersnamerequired

getBabyNames

Returns baby names, optionally filtered by `gender` (boy, girl or neutral). By default only popular names, the top 10%, are returned; set popular_only to false for the full pool.

Parametersgenderpopular_only

getBalanceSheet

Returns balance sheet data from SEC 10-Q and 10-K filings for one company, fiscal period and year. Requires `ticker` or `cik`. For which periods exist use /balancesheetavailability.

Parameterscikyearperiodticker

getBalanceSheetAvailability

Returns the fiscal years and quarters for which balance sheet data is available for a company. Requires a premium subscription (Developer tier and above).

Parameterscikticker

getBankHolidays

Returns bank holidays for a country and calendar year. Requires a `country`. To test a single date use /isbankholiday.

Parametersyearcountryrequired

isBankHoliday

Checks whether banks are closed nationwide on a given date in a country, or in one of its regions when `subdivision` is given. Requires `date` and `country`. For a whole year's calendar use /bankholidays.

Parametersdaterequiredcountryrequiredsubdivision

generateBarcode

Generates a barcode image encoding `text`. Optional `type`, `format` and `include_text` control the symbology and output. Requires `text`.

Parameterstextrequiredtypeformatinclude_text

binLookup

Returns bank and issuer information for a Bank Identification Number. Requires a `bin`, typically the first 6-8 digits of a credit card number.

Parametersbinrequired

getBitcoinData

Returns the latest Bitcoin price and market data. Takes no parameters. For a price series over a past time range use /bitcoinhistorical.

Takes no parameters.

getBitcoinHistoricalData

Returns historical Bitcoin price data over a chosen interval and Unix timestamp range. For the latest price instead use /bitcoin.

Parametersendlimitstartinterval

getBitcoinTreasury

Bitcoin positions reported to the SEC in quarterly XBRL filings, covering operating companies and spot bitcoin exchange-traded products. Each position is as of the filer's reported period end. For holdings in other crypto assets use /v1/cryptotreasury.

Parametersciknamelimitoffsetperiodtickerentity_typeinclude_unverified

getBsbInfo

Looks up the bank, branch, address and supported payment systems for a 6-digit Australian BSB number. Requires `bsb`. To find a BSB by bank or location use /bsbsearch.

Parametersbsbrequired

searchBsb

Finds Australian bank branches and their BSB numbers by bank name, suburb, state or postcode. To look up a single BSB number already known use /bsblookup.

Parametersstateoffsetsuburbpostcodebank_name

getBucketListItem

Returns one randomly chosen bucket list idea. Takes no parameters, so call it again for a different suggestion.

Takes no parameters.

calculateCaloriesBurned

Calculates calories burned from an activity, weight in pounds, and duration in minutes. Requires an activity. For valid names use /caloriesburnedactivities. The image_url and icon_url fields are premium only.

Parametersagermrsexheightweightactivityrequiredduration

listActivities

Returns the names of all activities supported by the calories-burned calculation. To compute calories for one of them use /caloriesburned.

Takes no parameters.

getCanadaRoutingNumberInfo

Returns the Canadian bank branch for a 9-digit EFT `routing_number`, or for a `transit_number` plus `institution_number`. To search by name or location use /canadaroutingnumbersearch.

Parametersrouting_numbertransit_numberinstitution_number

searchCanadaRoutingNumbers

Finds Canadian bank branches and their routing numbers by bank name, city, province or postal code. To decode a known routing number use /canadaroutingnumber. Requires a premium subscription.

Parameterscityoffsetprovincebank_namepostal_code

getCars

The main endpoint. Search the whole catalogue by any combination of filters, or fetch cars you already know with id/ids. Every car is returned with its complete specification sheet attached, so no second call is needed. Each row also carries its own make, model, generation, body and engine context. At least one filter, or an id, is required. The total number of matches is returned in the X-Total-Count response header. Requires a paid plan (Premium).

Parametersididsbodyfuelmakesortyearbadgedoorsdrivelimitmodel+10 more

getCarFacets

Builds every dependent dropdown in one request instead of one request per level. Facets narrow with whatever is already selected. Available on every plan, including Free.

Parametersbodyfuelmakeyeardoorsdrivemodelfacetscylindersgenerationtransmission

getCarMakes

Lists car manufacturers available in the catalogue. Use it to populate a make selector before calling /carmodels. Requires a paid plan (Premium).

Parametersyearlimitoffsetsearch

getCarModels

Lists the models belonging to a given manufacturer. Pair with /carmakes upstream and /cargenerations downstream. Requires a paid plan (Premium).

Parametersmakeyearlimitoffsetsearch

getCarGenerations

The level most vehicle APIs do not expose. Optional: nothing downstream requires it. Generations with no cars are returned with car_count 0 so gaps are visible. Requires a Business or Professional plan, or any annual plan.

Parametersmakeyearlimitmodeloffsethas_carschassis_code

getCashFlow

Returns cash flow statement data from SEC 10-Q and 10-K filings for one company, fiscal period and year. Requires `ticker` or `cik`. For available periods use /cashflowavailability.

Parameterscikyearperiodticker

getCashFlowAvailability

Returns the fiscal years and quarters for which cash flow data is available for a company. Requires a premium subscription (Developer tier and above).

Parameterscikticker

getCats

Returns cat breeds matching the given parameters, including weight, life expectancy, shedding, grooming and friendliness traits. For breed names only use /allcats.

Parametersnameoffsetgroomingsheddingmax_weightmin_weightplayfulnessfamily_friendlychildren_friendlymax_life_expectancymin_life_expectancyother_pets_friendly

getAllCatNames

Returns the names of every cat breed in the database and nothing else. Takes no parameters. For full breed detail and filtering use /cats.

Takes no parameters.

getCelebrity

Returns celebrity records with net worth, profession, and birthday, filtered by name, net worth range, nationality, or height in meters.

Parametersnameoffsetmax_heightmin_heightnationalitymax_net_worthmin_net_worth

getChuckNorrisJoke

Returns one random Chuck Norris joke. Takes no parameters. For jokes on other topics such as pop culture, science or history use /jokes.

Parameterssafe

getCityData

Get city data from either a name or population range. Returns a list of cities that satisfies the parameters.

Parametersnamelimitoffsetcountrymax_latmax_lonmin_latmin_lonmax_populationmin_population

searchCocktails

Searches cocktail recipes by name, with partial matches, or by a comma-separated ingredient list that returns only drinks containing every listed ingredient.

Parametersnameingredients

getCurrentCommodityPrice

Returns the current price for a single commodity (when `name` is provided) or a list of commodities (when `names` is provided). Optional `currency` and `unit` parameters convert the response from the native USD/USX quote into any supported currency and unit.

Parametersnameunitnamescurrency

getCommoditySpotPrice

Returns the spot price (the price for immediate delivery) for commodities that have a spot market: gold, silver, platinum, and palladium (composite: blended live market quotes, with bid/ask on premium plans) and WTI, Brent, natural gas, gasoline, and heating oil (assessed: the U.S. EIA official daily spot price, on every plan). Other commodities have no public spot market and return an error pointing to /commodityprice.

Parametersnameunitnamescurrency

getHistoricalCommodityPrice

Returns a historical price series for a commodity over an optional Unix start/end range and interval. Requires a `name`. For the latest price use /commodityprice.

Parametersendnamerequiredstartperiod

getCommoditySnapshot

Returns an enriched price object for all 30 supported commodities on every plan, including the free tier. Free responses carry the last completed daily settlement; premium plans return the live price. Optional filters narrow the result set.

Parameterscategoryexchange

getCommodityContract

Returns price information for a specific commodity contract or all contracts matching a commodity root. Either symbol or symbol_root must be provided, but not both.

Parameterssymbolsymbol_root

getCommodityContractList

Returns a list of all available commodity contracts with their symbols and commodity names. This endpoint is useful for discovering which contracts are available for querying.

Takes no parameters.

getCommodityForwardCurve

Returns every active futures contract for the requested commodity, sorted by contract month, along with a contango/backwardation classification and 1-month and ~12-month percent slopes. Reserved for Business, Professional, and annual-subscription tiers.

Parametersnamerequired

convertCurrency

Converts an `amount` from one currency to another. Requires `have`, `want` and `amount`. For the raw rate without converting a figure use /exchangerate.

Parametershaverequiredwantrequiredamountrequired

getCounter

Fetches a stored integer counter by `id`, optionally incrementing it with `hit` or setting it to a given `value`. Using a new id creates a new counter.

Parametersidrequiredhitvalue

getAllCountryFlags

Returns flag image URLs for every supported country, territory and area. For one country's flag use /countryflag. Requires a premium subscription.

Takes no parameters.

getCountryFlag

Returns URLs of one country's square and rectangle SVG flag images. Requires a 2-letter ISO-3166 alpha-2 `country` code. For URLs of all supported flags use /allcountryflags.

Parameterscountryrequired

getAllCountries

Returns the 2-letter ISO codes of every supported country. For statistics about a specific country use /country. Requires a premium subscription.

Takes no parameters.

getCountryData

Returns geographic, demographic, and economic statistics for countries matching filters such as name, currency, GDP, population, area, or unemployment rate.

Parametersnamelimitmax_gdpmin_gdpcurrencymax_areamin_areamax_fertilitymin_fertilitymax_gdp_growthmax_populationmin_gdp_growth+7 more

getCounty

Returns details for one or more counties matching the input parameters.

Parameterslimitstatecountyoffsetzipcode

getCovidData

Returns Covid-19 case counts or deaths by country, administrative region, or US county, as a series or a single-day snapshot. Either `date` or `country` must be set.

Parametersdatetypecountyregioncountry

getCryptoPriceHistorical

Returns historical OHLCV candles for a cryptocurrency at a chosen interval and time range. Requires a `symbol` such as BTCUSD or ETHBTC. Symbols ending in USD are priced in real US dollars; other fiat quotes (e.g. BTCEUR) are not supported on this endpoint. For the live price use /cryptoprice.

Parametersendlimitstartsymbolrequiredinterval

getCryptoPrice

Returns the current market price of a cryptocurrency. Requires a `symbol` such as BTCUSD or ETHBTC. Symbols ending in USD are priced in real US dollars; symbols ending in USDT are priced in Tether, a stablecoin that is not exactly $1. Premium plans can also quote fiat currencies, e.g. BTCEUR, which adds an `exchange_rate_timestamp`. For past prices and OHLCV candles use /cryptopricehistorical.

Parameterssymbolrequired

getCryptoTreasury

Crypto asset positions reported to the SEC in quarterly XBRL filings. Coverage is limited to SEC filers (holders listed only outside the US are not included), and each position is as of the filer's reported period end. With no parameters, returns the largest current positions ranked by dollar value. Positions whose unit count does not reconcile with the filer's own fair value are excluded unless include_unverified is set.

Parametersciknameassetlimitoffsetperiodtickerentity_typeinclude_unverified

getCryptoSymbols

Returns the list of cryptocurrency ticker symbols available. Use it to find valid symbols before requesting quotes from the Crypto Price API.

Takes no parameters.

getCurrencyVolatility

Returns the latest realised volatility for a currency `pair`, with optional `window`, `method` and annualisation. For a time series use /currencyvolatilityhistorical.

Parameterspairrequiredmethodwindowday_countannualized

getCurrencyVolatilityHistorical

Returns a realised volatility time series for a currency `pair` across a date range or `days` lookback. For the latest single value use /currencyvolatility.

Parametersdayspairrequiredmethodwindowend_dateday_countannualizedstart_date

getCurrencyVolatilityForecast

Projects forward volatility for a currency `pair` over a `horizon`, using EWMA or a comparable `method`. For realised values instead use /currencyvolatility.

Parameterspairrequiredlambdamethodhorizonday_count

getDadJoke

Returns one or more random dad jokes. The `limit` parameter, which returns up to 100 jokes in a call, is available on premium plans only.

Parameterslimit

getDayInHistory

Returns historical events that happened on a given `month` and `day`. Free requests cover today's date only; other dates plus `limit` and `offset` require premium.

Parametersdaylimitmonthoffset

getDefinition

Returns a string containing definitions for a given word.

Parameterswordrequired

checkDisposableEmail

Checks whether an email address comes from a disposable or temporary email provider, for sign-up and fraud screening. Requires `email`.

Parametersemailrequired

getDNSRecords

Retrieves DNS records for a domain, covering the A, AAAA, CNAME, MX, NS, PTR, SRV, SOA, TXT and CAA record types. Requires `domain`.

Parametersdomainrequired

getDogs

Returns dog breeds matching filters such as name, height, weight, life expectancy, shedding, barking, energy, or trainability. For breed names only use /alldogs.

Parametersnameenergyoffsetbarkingsheddingmax_heightmax_weightmin_heightmin_weighttrainabilityprotectivenessmax_life_expectancy+1 more

getAllDogs

Returns the names of every dog breed in the database and no other fields. For breed traits and measurements such as height, weight, and shedding use /dogs.

Takes no parameters.

getDomainInfo

Checks whether a domain is available and returns basic registration information. Requires a `domain`; top-level domains other than .com need a premium subscription.

Parametersdomainrequired

getEarningsCalendar

Returns earnings reports for one company (`ticker`), one calendar date (`date`), or a date range (`date_start`/`date_end`). At least one of these is required, and `date` cannot be combined with a range. Covers 50,000+ tickers on US and international exchanges with history back to 2000. How far back a request can reach depends on the plan: Free returns the last 12 months, Developer the last 5 years, and Business and Professional the full history. A `date` or range that starts before the plan's window returns an error; `ticker` lookups return only the reports inside it. Results are sorted by date (newest first) and returned 50 per request; use `offset` (premium) to page. Past reports only by default; set `show_upcoming=true` (premium) to include scheduled future reports. EPS and revenue are in the company's reporting currency. `actual_eps`/`estimated_eps` are on the adjusted (non-GAAP) basis analysts use; `actual_eps_gaap` is GAAP diluted EPS from the SEC 10-Q/10-K (US SEC filers). For upcoming dates filtered by exchange use /upcomingearnings.

Parametersdateoffsettickerdate_enddate_startshow_upcoming

getEarningsCalendarList

Returns the list of companies covered by the earnings calendar. For a specific company's earnings results and reporting dates use /earningscalendar.

Takes no parameters.

getUpcomingEarnings

Returns a list of upcoming earnings dates with filtering capabilities. You can filter by date range, single date, exchange, or ticker symbol. Results are limited to dates from today onwards. Premium only.

Parametersdatelimitoffsettickerend_dateexchangestart_date

getEarningsTranscript

Returns the full text of one company's earnings call. Requires a `ticker` or `cik`; to find which calls exist first, use /earningstranscriptsearch. Choosing a `quarter` requires premium.

Parameterscikyeartickerquarter

listEarningsCallTranscripts

Lists all available earnings call transcripts, paged with `limit` and `offset`. To filter by ticker, CIK or date use /earningstranscriptsearch; for the text of one call use /earningstranscript.

Parameterslimitoffset

searchEarningsTranscripts

Finds which earnings call transcripts are available by ticker, CIK, date or date range, with paginated results. Returns the matching calls, not their text; read that from /earningstranscript.

Parameterscikdatelimitoffsettickerend_datestart_date

getEarningsCallSpeaker

Searches earnings-call speakers by name, company, analyst firm, role or type, or returns one speaker's profile, coverage and appearance history when `id` is given.

Parametersidnameroleyearlimitoffsettickercompanyquartersort_bysort_diranalyst_firm+2 more

getEarningsCallParticipants

Lists the executives and analysts who appeared on one company's earnings calls. Requires a `ticker` or `cik`. For a single person across companies use /earningstranscriptspeaker.

Parametersciklimitoffsettickersort_bysort_dirspeaker_type

getEarnings

Returns reported earnings results, filtered by `ticker`, `cik`, `year`, `quarter` or filing `date`. For dates of upcoming reports use /earningscalendar.

Parameterscikdateyearoffsetperiodtickerquarterdate_enddate_start

getElectricVehicleData

Returns electric vehicle records with range, battery, charging, and performance data, filtered by make, model, year, or range. For maker names use /electricvehiclemakes.

Parametersmakelimitmodeloffsetmax_yearmin_yearmax_rangemin_range

getElectricVehicleMakes

Returns the list of electric vehicle manufacturers, optionally filtered by year. For the models of one manufacturer use /electricvehiclemodels.

Parametersyear

getElectricVehicleModels

Returns all electric vehicle models for one manufacturer, optionally filtered by year. Requires a `make`. For full vehicle specs use /electricvehicle.

Parametersmakerequiredyear

encodeText

Encodes any given text into a 768-dimensional vector using state-of-the-art NLP machine learning models.

Parameterstextrequired

getEmojis

Returns a list of emojis according to input parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls.

Parameterscodenamegroupoffsetsubgroup

getETFInfo

Returns holdings, expense ratio, assets under management and trailing total-return performance for one ETF. Look it up by `ticker`, or by `isin` to get the fund's most-traded listing. `listings` lists every exchange the same fund trades on. To find or enumerate ETFs use /etfsearch or /etflist.

Parametersisinticker

listETFs

Returns ETF ticker symbols supported by the ETF API, paginated up to 1000 per call. Increment the offset parameter by 1000 until fewer than 1000 results are returned to walk the entire list. Available to Business, Professional, or annual subscribers only.

Parametersoffset

searchETFs

Search for ETFs by name, AUM, expense ratio, holdings, or country. Results are sorted by AUM descending and paginated 50 per page. At least one filter parameter is required. Available to Business, Professional, or annual subscribers only.

Parametersnameoffsetcountrymax_aummin_aumholdingsmax_expense_ratiomin_expense_ratio

getEuriborRates

Returns current Euribor interbank lending rates for maturities from 1 week to 12 months. Takes no parameters.

Takes no parameters.

getEVCharger

Get electric vehicle charging stations near a location specified by latitude and longitude coordinates.

Parameterslatrequiredlonrequiredlevellimitoffsetdistance

getExchangeRate

Returns the current exchange rate for a currency `pair` such as USD_EUR. To convert a specific amount instead use /convertcurrency.

Parameterspairrequired

getHistoricalExchangeRate

Returns daily historical exchange rates for a given currency pair. Data is available from 1999-01-01 onward. Provide either a single date or a start_date/end_date range (max 366 days). Premium subscription required.

Parametersdatepairrequiredend_datestart_date

getExecutiveCompensation

Returns named-executive-officer compensation for a company, sourced from SEC DEF 14A proxy statements, plus the structured Pay Versus Performance disclosure. The free tier returns the CEO's total for the latest fiscal year; premium tiers unlock the full breakdown, all executives, historical years, and Pay Versus Performance.

Parametersciknameyearticker

getExercises

Returns up to 5 exercises that satisfy the given parameters.

Parametersnametypemuscleoffsetdifficultyequipments

getAllExercises

Returns a comprehensive list of exercises that target a specific muscle group. Available on Business, Professional, or annual subscriptions only.

Parameterslimitmusclerequiredoffset

detectFaces

Runs computer-vision face detection on an image supplied in the POST request body and returns the faces found. Takes no query parameters.

Parametersimagerequired

getFacts

Returns one or more random facts. Free users have access to 100 facts - premium users have access to over 125,000 facts.

Parameterssafelimit

getFactOfTheDay

Returns a single fact for the current day. The same fact is returned for all requests on the same day, and changes each day. No parameters are available for this endpoint, so everyone sees the same fact of the day.

Takes no parameters.

getGDPData

Get GDP data from given parameters. Returns GDP statistics that satisfy the parameters.

Parametersyearcountry

getGeocoding

Converts a place name into latitude and longitude. Requires `city`; narrow with `state`, `country` or `zipcode`. For the reverse direction use /reversegeocoding.

Parameterscityrequiredstatecountryzipcode

getReverseGeocoding

Converts a `lat` and `lon` pair into the matching place name and administrative area. For the opposite direction use /geocoding.

Parameterslatrequiredlonrequired

getCurrentGoldPrice

Returns the current gold futures price in USD. Free responses carry the last completed daily settlement; premium plans return the live price.

Parametersunitcurrency

getGoldSpotPrice

Returns the gold spot price (XAU/USD), blended from multiple live market quotes. Free tier returns the last daily close; premium tiers return the live price with bid and ask.

Parametersunitcurrency

getHistoricalGoldPrice

Returns historical gold futures price data in OHLCV (Open, High, Low, Close, Volume) format. The data is returned in descending order (most recent first), and all prices are in USD. Premium subscribers only.

Parametersendstartperiod

getHelicopterData

Returns technical specifications for helicopter models, filtered by manufacturer, model, or ranges of air speed, range, length, and height.

Parameterslimitmodelmax_rangemax_speedmin_rangemin_speedmax_heightmax_lengthmin_heightmin_lengthmanufacturer

getHistoricalEvents

Searches famous events in history by keyword `text` and/or `year`, `month` and `day`; negative years mean BC. Pagination with `offset` requires premium.

Parametersdaytextyearmonthoffset

searchHistoricalFigures

Searches notable people from history, ancient to modern, by name with partial matches supported, and returns their records. Requires `name`.

Parametersnamerequiredoffset

getHobby

Returns a random hobby suggestion, optionally restricted to a `category` such as general, sports_and_outdoors or education.

Parameterscategory

getHolidays

Returns holidays for a country and calendar year, optionally filtered by holiday type. Requires a `country`. For holidays falling on one date use /v1/isholiday.

Parameterstypeyearcountryrequired

isHoliday

Returns all holidays that fall on a given date, optionally restricted to one country. Requires a `date`. For a full year's calendar use /v2/holidays.

Parametersdaterequiredcountry

getHoroscope

Returns the daily horoscope for one zodiac sign. An optional `date` in YYYY-MM-DD format gives a past day's horoscope; future dates are not accepted.

Parametersdatezodiacrequired

getHospitals

Returns US hospitals matching a name, city, state, ZIP code, county or latitude/longitude bounding box, with location, contact information and bed count.

Parameterscitynamelimitstatecountyoffsetzipcodemax_latitudemin_latitudemax_longitudemin_longitude

getIBAN

Validates an International Bank Account Number and returns the bank and account details encoded in it. Requires an `iban`.

Parametersibanrequired

extractTextFromImage

Given an input image, return all detected texts and their bounding boxes.

Parametersimagerequired

getIncomeStatement

Returns income statement data from SEC 10-Q and 10-K filings for one company, fiscal period and year. Requires `ticker` or `cik`. For available periods use /incomestatementavailability.

Parameterscikyearperiodticker

getIncomeStatementAvailability

Returns the fiscal years and quarters for which income statement data is available for a company. Requires a premium subscription (Developer tier and above).

Parameterscikticker

calculateIncomeTax

Calculates income tax for the United States or Canada from income, location, and filing status, including state or provincial tax. Requires `country`, `region`, `income`.

Parametersincomerequiredregionrequiredcountryrequiredcreditstax_yeardeductionsfiling_statusself_employed

calculatePaycheckWithholding

Premium only. Returns per-paycheck federal withholding, FICA (Social Security, Medicare, Additional Medicare), and optional state withholding given gross pay and W-4 inputs. Supports both the 2020-or-later and pre-2020 W-4 forms. Requires `gross_pay`, `pay_period`, `filing_status`.

Parametersstatetax_yeargross_payrequiredytd_grossallowancesdeductionspay_periodrequiredw4_versionother_incomefiling_statusrequiredmultiple_jobsdependents_amount+2 more

getIncomeTax

Returns comprehensive income tax information including tax brackets and rates at both federal and state/provincial levels (where applicable).

Parametersyearrequiredcountryrequiredregions

getCurrentInflation

Returns current monthly and annual inflation percentages. Premium subscribers only.

Parameterstypecountry

getHistoricalInflation

Returns historical inflation rates for a given country and (optionally) time range. The maximum number of data points returned per API call is 100. Premium subscribers only.

Parameterstypecountryrequiredend_timestart_time

getInsiderTransactions

Returns a list of insider trading transactions that match the specified filters. Returns at most 100 results per request. For more results, use the offset parameter. Results are limited by filing date to the plan's history window: Free returns filings from the last 90 days, Developer the last 2 years, and Business and Professional the full history (2009+). Date filters before the window return an error.

Parametersciknamelimitoffsettickerform_typeinsider_typetransaction_codetransaction_datetransaction_typemax_transaction_datemin_transaction_date+2 more

getInsiderDetails

Returns detailed transaction information for a given insider with optional filtering by company. Returns a maximum of 10 transactions, ordered by filing date (most recent first). Premium subscriptions only.

Parametersnamerequiredcompany_cikcompany_ticker

getInsidersList

Returns a list of all insiders for a given company (via ticker or CIK). For each insider, returns their name, position, and current share holdings based on their most recent filing. Either ticker or CIK is required. Premium subscriptions only.

Parameterscikticker

getInstitutionalHoldings

Returns an institutional manager's full 13F portfolio for a quarter. Requires `cik` or `manager_name`. For every holder of a single stock use /institutionalownership.

Parametersciksortcusiplimitoffsetperiodtickergroup_byput_callmax_valuemin_valuechange_type+1 more

getInstitutionalOwnership

Lists every institution holding a given stock in a quarter. Requires `ticker` or `cusip`. For one manager's entire portfolio use /institutionalholdings.

Parameterssortcusiplimitoffsetperiodtickersummaryput_callmin_valuemin_shares

getInstitutionalInvestors

Searches the directory of 13F-filing institutions by name, CIK or quarter and returns their filing history rather than positions. Requires a premium subscription.

Parametersciknamelimitoffsetperiodperiod_list

getInstitutionalMovers

Ranks the largest institutional new buys, exits, adds or trims for a quarter, market-wide or within one institution. Requires a premium subscription.

Parametersciklimitperiodmover_type

getCurrentInterestRates

Returns the latest published value of a central bank or benchmark `rate`. For the full history of that rate use /historicalinterestrates.

Parametersraterequired

getHistoricalInterestRates

Returns the published history of a benchmark `rate` over an optional date range, given as `start_date`/`end_date` (YYYY-MM-DD) or `start_time`/`end_time` (UNIX seconds). For the latest value only use /interestrate.

Parameterspageraterequiredend_dateend_timestart_datestart_time

getIPInfo

Returns location information for an IP address. Requires an `address` in IPv4 form such as 73.9.149.180 or in IPv6 form.

Parametersaddressrequired

getIpoCalendar

Returns a list of IPO records matching the supplied filters. With no parameters, returns IPOs with listing dates between today and 30 days from now. All parameters are optional; combine them to narrow results by ticker, CIK, date range, status, deal type, exchange, or industry.

Parameterscikdatelimitoffsetstatustickerdate_endexchangesic_codedeal_typedate_fielddate_start

getJoke

Returns random jokes about pop culture, science, history and other topics. Set `limit` to return between 1 and 100 jokes; the default is 1.

Parameterslimit

getJokeOfTheDay

Returns a single joke for the current day. The same joke is returned for all requests on the same day, and changes each day. No parameters are available for this endpoint, so everyone sees the same joke of the day.

Takes no parameters.

getHistoricalLiborRates

Returns historical LIBOR rates for one tenor over an optional Unix timestamp range. Requires `type`: overnight, 1_month, 3_months, 6_months or 12_months.

Parameterstyperequiredend_timestart_time

getLogos

Get a list of company names, ticker symbols, and logo image URLs matching the input parameters. Returns at most 10 results.

Parametersnameticker

generateLoremIpsum

Returns one or more paragraphs of lorem ipsum placeholder text.

Parametersrandommax_lengthparagraphsstart_with_lorem_ipsum

getLotteryDraw

Returns the latest draw for a game, the draw on a given date, or the latest draw of every game in a US state or a country. On paid plans results usually appear within minutes of the official publication; on the free plan they appear about 60 minutes later. Provide game, state or country. Returns a JSON object, or a JSON array of them when state or country is used.

Parametersdategamestatecountrysessiondraw_number

getLotteryHistoricalDraws

Returns past draws for a game, newest first. The free plan gets the latest 10 draws (each visible about 60 minutes after the draw); Developer plans a rolling two years; Business tier and above the full archive.

Parametersendgamerequiredlimitstartoffsetsession

listLotteryGames

Lists the covered games with their number format, draw schedule, jackpot odds, prize tiers, rule-change history and archive range.

Parametersgamestatecountry

checkLotteryTicket

Premium only. Scores a ticket against a draw and returns the matched prize tier and prize. Supports Powerball (with Power Play and Double Play), Mega Millions (with the ticket's built-in multiplier) and Millionaire for Life. Ticket numbers are never stored. The result is not a prize claim.

Parametersdaterequiredgamerequiredbonusrequirednumbersrequiredmultiplierpower_playdouble_play

listLotteryJackpots

Premium only. Lists the next advertised jackpot for every active game that publishes one, largest first within each currency.

Parametersminstatecountrycurrency

getMarketCap

Returns real-time market capitalization data for a company listed on a major exchange. Requires a `ticker` such as NVDA.

Parameterstickerrequired

getCurrentMetalsPrice

Returns the current spot price of a metal with its futures price and contract. Free tier returns the last daily close for every metal; Developer plans get a spot price refreshed every minute; Business, Professional, and Enterprise plans get the live spot price (about every 10 seconds) and the metals batch parameter.

Parametersunitmetalmetalscurrency

calculateMortgage

Calculates monthly and annual mortgage payments and interest from a loan amount or home value and downpayment, plus optional HOA, tax and insurance. Requires `interest_rate`.

Parametershome_valuedownpaymentloan_amountmonthly_hoainterest_raterequiredduration_yearsannual_property_taxannual_home_insurance

getMortgageRate

Returns 30-year and 15-year fixed-rate mortgage (FRM) data. If no parameters are set, the mortgage rate data for the most recent day is returned.

Parametersdatemax_datemin_date

getMotorCarrier

Canonical carrier profile. Provide exactly one of dot or mc.

Parametersmcdotchecksmin_bipdmin_cargo

searchMotorCarriers

Find carriers by name, location or status, or reverse-look-up by phone or email (Business+).

Parameterszipcitynameemaillimitphonestateoffsetstatus

getMotorCarrierInsurance

Business+ only. Policy-level filings with coverage in US dollars, plus the 30-day BMC-35 cancellation window.

Parametersmcdot

getMotorCarrierSafety

Crash counts, out-of-service rates against the national average, and public BASIC measures.

Parametersmcdot

searchMotorcycles

Returns technical specifications for motorcycle models matching a make, model and/or year, with partial matching on make and model and `offset` paging.

Parametersmakeyearmodeloffset

getMotorcycleMakes

Returns the list of motorcycle manufacturers covered. For one manufacturer's model names use /motorcyclemodels; for a model's technical data use /motorcycles.

Takes no parameters.

getMotorcycleModels

Returns the model names offered by one motorcycle manufacturer. Requires a `make`. For full technical specifications of a model use /motorcycles.

Parametersmakerequired

getMutualFund

Returns details for a mutual fund including holdings, expense ratio, assets under management, and trailing total-return performance. Look it up by `ticker` (e.g. VFIAX) or by `isin` (e.g. US9229087104).

Parametersisinticker

getMXRecords

Returns the mail-exchange (MX) records for a `domain`, showing which servers accept its email. For other record types use /dnslookup.

Parametersdomainrequired

getNaics

Returns the official title, description, full hierarchy, index terms and cross-references for a NAICS code. Pass crosswalk_to to also map the code to another NAICS revision or to SIC. Available on all plans.

Parameterscodeyearcodestitlecountrycrosswalk_to

searchNaics

Ranked candidate codes for a keyword or phrase, matched against over 20,000 official Census index terms plus titles and descriptions. Returns every plausible code without applying classification rules. Available on all plans; results capped at 5 on Free and Learner.

Parametersyearlevellimitqueryrequired

getNaicsSizeStandard

Returns the SBA size standard from 13 CFR 121.201 for a code, and a small-business eligibility verdict when revenue or employees is supplied. Requires a Developer subscription or above; calculation basis, affiliation notes and exceptions require Business or above.

Parameterscodecodesrevenueemployees

classifyNaics

Assigns one primary NAICS code to a business description by applying NAICS classification rules: the primary-activity test, cross-reference exclusions, and establishment scope. Returns the deciding rule and supporting evidence for audit. Requires a Business subscription or above.

Parametersyeardescriptionrequiredmin_confidenceinclude_alternatives

getNaicsRisk

Returns a KYB and underwriting risk profile for an industry, including money-services, cash-intensive, cannabis, firearms, gambling and crypto flags, typical merchant category codes, and a review recommendation. Informational only, not a compliance determination. Requires a Business subscription or above.

Parameterscodecodesframework

getNutrition

Extracts nutrition data from free-form text, scaling values to any quantities mentioned. Requires `query`. For one food item with an explicit amount use /nutritionitem.

Parametersqueryrequired

getNutritionItem

Returns nutrition data for a single food item at a stated amount. Requires `query` and `quantity` such as "1 cup". For free-form text with several foods use /nutrition.

Parametersqueryrequiredquantityrequired

getNutritionBarcode

Look up nutrition, allergens, and ingredients for branded/packaged food products. A UPC/EAN barcode returns a single product; a name or brand search returns a ranked list. Provide at least one of upc, name, or brand. Premium only (any paid plan).

Parametersupcnamebrandlimitoffset

detectObjects

Detects and labels the objects present in an image using a neural network. The image is sent in the body of the POST request.

Parametersimagerequired

getCurrentOilPrice

Returns the current price for a crude oil or energy benchmark. Free tier returns the daily closing price for WTI (type=wti) and Brent (type=brent); premium tiers return the real-time price for all benchmarks and support optional currency and unit conversion.

Parameterstypeunittypescurrency

getOilSpotPrice

Returns the U.S. EIA's official daily spot price for the benchmark's physical hub, on every plan. The EIA publishes weekly, so the date field says which trading day the price is for. Currency and unit conversion are premium features; the types batch parameter is available to Business, Professional, and Enterprise subscribers, or any annual plan.

Parameterstypeunittypescurrency

getHistoricalOilPrice

Returns historical OHLCV (Open, High, Low, Close, Volume) data for an oil/energy benchmark, most recent first. Reserved for premium subscribers.

Parametersendtypestartperiod

generatePassword

Generates one random password of the requested length, optionally excluding numbers or special characters. Defaults to 16 characters when no length is given.

Parameterslengthexclude_numbersexclude_special_chars

phoneLookup

Returns carrier, line type, VOIP status and MCC/MNC for a phone `number`, with optional `country`. For format and validity checks only use /validatephone.

Parametersnumberrequiredcountry

getPinCode

Returns the locations matching a six-digit Indian PIN code. Spaces and hyphens are normalized, so 110001, 110 001 and 110-001 all resolve. Searching by city, district or state instead of a pincode requires premium.

Parameterscitystatepincodedistrict

Get_a_list_of_planets

Get a list of planets matching specified parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls.

Parametersnameoffsetmax_massmin_massmax_periodmax_radiusmin_periodmin_radiusmax_temperaturemin_temperaturemax_semi_major_axismin_semi_major_axis+2 more

getPopulationData

Get population data from given parameters. Returns a list of up to 5 country population statistics that satisfy the parameters. For more results use the offset parameter.

Parametersoffsetcountrymax_populationmin_population

getPostalCode

Returns details for a Canadian postal code, given as A1A1A1 or A1A 1A1. Searching by `city` and `province` instead of a postal code requires premium.

Parameterscityprovincepostal_code

filterProfanity

Screens `text` for profanity and returns a censored version plus a flag indicating whether anything was found. Requires `text`.

Parameterstextrequired

getPropertyTax

Returns effective property tax rates for locations in the United States, filtered by state, county, city, or ZIP code.

Parameterszipcitystatecounty

getPublicHolidays

Returns public holidays for a country and calendar year. Requires a `country`. To test whether one date is a public holiday use /ispublicholiday.

Parametersyearcountryrequired

isPublicHoliday

Checks whether a given date is a nationwide public holiday in a country, or in one of its regions when `subdivision` is given. Requires `country` and `date`. For a whole year of public holidays use /publicholidays.

Parametersdaterequiredcountryrequiredsubdivision

generateQRCode

Generates a QR Code image for the specified data.

Parametersdatarequiredsizeformatrequiredbg_colorfg_color

getQuotes

Returns quotes in a deterministic, paginated order, filterable by category, author or work title. For a random selection instead use /randomquotes.

Parameterssafeworklimitauthoroffsetcategoriesexclude_categories

getRandomQuotes

Returns randomly chosen quotes, optionally filtered by category, author or work title. For stable paginated results use /quotes; for one fixed daily quote use /quoteoftheday.

Parameterssafeworklimitauthorcategoriesexclude_categories

getQuoteOfTheDay

Returns a single quote of the day that stays the same for the whole day. Takes no parameters. For varying quotes use /randomquotes or /quotes.

Takes no parameters.

getQuoteAuthors

Lists authors who have multiple aphoristic quotes in the database, with limit and offset paging. Requires a premium subscription.

Parameterslimitoffset

getRandomImage

Returns a random royalty-free image, optionally constrained by `category`, `width` and `height`. Useful for placeholder or sample imagery.

Parameterswidthheightcategory

getRandomUsers

Generates fake user profiles such as name, email, address and username for testing or placeholders, with count, gender, age, locale, field selection and seed options.

Parametersseedcountfieldsgenderlocaleexcludemax_agemin_agenationalitypassword_lengthblank_percentage

getRandomWord

Returns one or more random words, optionally restricted to a part of speech: noun, verb, adjective, or adverb.

Parameterstypelimit

getRecipes

Get a list of recipes for a given recipe name or ingredient(s). Returns a list of recipes with nutrition information. To access more results, use the limit parameter to limit the number of results and the offset parameter to offset results for pagination in multiple API calls.

Parameterslimittitleoffsetingredients

getRhyme

Returns a list of rhyming words for any given word.

Parameterswordrequired

getRiddles

Returns one or more random riddles.

Parameterssafelimit

getBankInfo

Returns the US bank identified by a routing number. Requires a 9-digit `routing_number`. To find routing numbers by bank name or location instead use /routingnumbersearch.

Parametersrouting_numberrequired

searchBanks

Finds US banks and their routing numbers by bank name, city, state, ZIP code or SWIFT/BIC code, with `offset` paging. To decode a known routing number use /routingnumber.

Parameterscitystateoffsetzip_codebank_nameswift_code

calculateSalesTax

Calculates US sales tax on a purchase amount for a location given by ZIP code or by city and state, returning the tax breakdown and total. Requires `amount`.

Parameterscitystateamountrequiredzip_codestreet_address

getSalesTax

Returns the sales tax rate and its breakdown for a US `zip_code`, or for a `street_address` with city and state for the most accurate result. For thresholds use /salestaxnexus.

Parameterscitystatezip_codestreet_address

getSalesTaxFiling

PREMIUM ONLY - Business tier and above; requests below that return an error. Filing frequencies and due dates by US state. Calendars are GENERATED from each state's published rules, so all state due dates stay correct across years. Handles what a naive 'due on the 20th' model gets wrong: due days ranging from the 15th (Maine) to the last day of the month (California); New York's quarters ending Feb/May/Aug/Nov; weekend and holiday rollover against federal, state or both calendars, flagged with due_date_adjusted and preserving statutory_due_date; electronic payments that must be INITIATED a business day early (Florida); and prepayment regimes in the four distinct placements states actually use. Supply annual_liability to have the state's own ladder assign a frequency. Where a state grants frequency by written approval or departmental notice rather than by a published dollar threshold, the response is 'indeterminate' rather than a guess. Each jurisdiction carries coverage_level, and any field the state does not publish is listed in unpublished with an unpublished_reason. State-level filing regimes only; home-rule localities that file separately are out of scope. This is reference data, not tax advice.

Parametersyearstatefrequencyannual_liability

getSalesTaxHolidays

Sales tax holidays for US states, with timezone-aware start and end timestamps, eligible item categories and per-item price caps. Supply a date, category and amount to get an exemption determination for a single purchase. Where a state lets each locality opt in or out, the endpoint returns exempt: null with determination: 'indeterminate' and a required_input array rather than a flat true, because participation is not decidable from the state alone. Price caps are per item in most states, not per transaction; cap_basis says which. Asking for a year the state has not yet published returns an empty result set with a coverage note, not an error and not last year's dates. This is reference data, not tax advice.

Parametersdateyearstateamountcategory

getSalesTaxNexus

PREMIUM ONLY - requests on the free tier return an error. Returns economic nexus thresholds for US states. Call it with no sales figures as a reference lookup, or supply sales figures to get a determination. Omit the state parameter to evaluate all 50 states and DC in one call. Any 'nexus' or 'no_nexus' determination is provable from the figures supplied. Where the inputs cannot settle the question, the endpoint returns 'indeterminate' with a required_input array rather than guessing, because states measure different quantities: taxable sales are a subset of retail sales, which are a subset of gross sales. Economic nexus only. Physical presence is not evaluated. This is reference data, not tax advice.

Parametersstaterevenuegross_salesretail_salestransactionstaxable_salesmarketplace_salesmarketplace_transactions

getSalesTaxRateChanges

PREMIUM ONLY - Developer plans and above; requests below that return an error. Announced and scheduled changes to US sales and use tax rates for states, counties, cities and special districts, sorted by effective date (changes without a date yet come last). Each change has the old and new rate, the effective date, days until it takes effect, its status (from on the ballot through enacted) and the official announcement it comes from. Changes taking effect within 30 days are marked high priority. Only upcoming changes are returned. Use updated_since to sync incrementally; it also returns cancelled changes so you can retire ones you stored.

Parametersidlevellimitstateoffsetstatusend_datestart_datewithin_daysupdated_sinceinclude_undated

screenSanctions

Returns ranked matches against the configured government sanctions lists. The set of lists and entity types available depends on subscription tier — Free covers OFAC SDN individuals only, Developer adds EU and entities, Business adds UK/UN/AU and vessels/aircraft.

Parametersdobnamerequiredcountrysourcesmin_scoreentity_typenationality

searchSEC

Returns a list of SEC filing information (including the submission URL) corresponding to the given search parameters.

Parametersendlimitstartfilingrequiredtickerrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Api-Ninjas integrations