Earthquakes near a point
Earthquakes within a radius of a latitude/longitude in the last N days, with distance.
Request
GEThttps://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&limit=3
*
String. 'lat,lon'.
Number. Search radius in kilometres (0–5000, default
300). Number. How many days back to search (1–365, default
30). Number. Minimum magnitude (0–10, default
2.5). Number. Maximum number of results (1–500, default
50). Language
Client
1curl --request GET \
2 --url 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3' \
3 --header 'Accept: application/json' \
4 --header 'X-API-Key: YOUR_API_KEY'Earthquakes near a point: Earthquake API reference
Earthquakes within a radius of a latitude/longitude in the last N days, with distance. This endpoint is part of the Earthquake API: Real-time earthquakes worldwide from the USGS: recent quakes, quakes near a location, historical search and event details.
Earthquakes near a point: example requests in every language
GET /v1/nearby in Shell (cURL)
curl --request GET \
--url 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3' \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY'GET /v1/nearby in Shell (HTTPie)
http GET 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3' \
Accept:application/json \
X-API-Key:YOUR_API_KEYGET /v1/nearby in Shell (Wget)
wget --quiet \
--method GET \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--output-document \
- 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3'GET /v1/nearby in Node.js (http)
const http = require('https');
const options = {
method: 'GET',
hostname: 'earthquakes.p.apihiver.com',
port: null,
path: '/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3',
headers: {
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();GET /v1/nearby in Node.js (Request)
const request = require('request');
const options = {
method: 'GET',
url: 'https://earthquakes.p.apihiver.com/v1/nearby',
qs: {
coords: '35.68,139.69',
radius_km: '{radius_km}',
days: '{days}',
min_magnitude: '{min_magnitude}',
limit: '3'
},
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});GET /v1/nearby in Node.js (Unirest)
const unirest = require('unirest');
const req = unirest('GET', 'https://earthquakes.p.apihiver.com/v1/nearby');
req.query({
coords: '35.68,139.69',
radius_km: '{radius_km}',
days: '{days}',
min_magnitude: '{min_magnitude}',
limit: '3'
});
req.headers({
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});GET /v1/nearby in Node.js (Axios)
const axios = require('axios').default;
const options = {
method: 'GET',
url: 'https://earthquakes.p.apihiver.com/v1/nearby',
params: {
coords: '35.68,139.69',
radius_km: '{radius_km}',
days: '{days}',
min_magnitude: '{min_magnitude}',
limit: '3'
},
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/nearby in Node.js (Fetch)
const fetch = require('node-fetch');
const url = 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3';
const options = {
method: 'GET',
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/nearby in JavaScript (XMLHttpRequest)
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3');
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('X-API-Key', 'YOUR_API_KEY');
xhr.send(data);GET /v1/nearby in JavaScript (Axios)
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://earthquakes.p.apihiver.com/v1/nearby',
params: {
coords: '35.68,139.69',
radius_km: '{radius_km}',
days: '{days}',
min_magnitude: '{min_magnitude}',
limit: '3'
},
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/nearby in JavaScript (Fetch)
const url = 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3';
const options = {
method: 'GET',
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/nearby in JavaScript (jQuery)
const settings = {
async: true,
crossDomain: true,
url: 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3',
method: 'GET',
headers: {
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});GET /v1/nearby in Python (http.client)
import http.client
conn = http.client.HTTPSConnection("earthquakes.p.apihiver.com")
headers = {
'Accept': "application/json",
'X-API-Key': "YOUR_API_KEY"
}
conn.request("GET", "/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))GET /v1/nearby in Python (Requests)
import requests
url = "https://earthquakes.p.apihiver.com/v1/nearby"
querystring = {"coords":"35.68,139.69","radius_km":"{radius_km}","days":"{days}","min_magnitude":"{min_magnitude}","limit":"3"}
headers = {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())GET /v1/nearby in PHP (cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"X-API-Key: YOUR_API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}GET /v1/nearby in PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3', [
'headers' => [
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY',
],
]);
echo $response->getBody();GET /v1/nearby in PHP (PECL HTTP v1)
<?php
$request = new HttpRequest();
$request->setUrl('https://earthquakes.p.apihiver.com/v1/nearby');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'coords' => '35.68,139.69',
'radius_km' => '{radius_km}',
'days' => '{days}',
'min_magnitude' => '{min_magnitude}',
'limit' => '3'
]);
$request->setHeaders([
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}GET /v1/nearby in PHP (PECL HTTP v2)
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://earthquakes.p.apihiver.com/v1/nearby');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'coords' => '35.68,139.69',
'radius_km' => '{radius_km}',
'days' => '{days}',
'min_magnitude' => '{min_magnitude}',
'limit' => '3'
]));
$request->setHeaders([
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();GET /v1/nearby in Java (AsyncHttp)
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3")
.setHeader("Accept", "application/json")
.setHeader("X-API-Key", "YOUR_API_KEY")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();GET /v1/nearby in Java (java.net.http)
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3"))
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());GET /v1/nearby in Java (OkHttp)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();GET /v1/nearby in Java (Unirest)
HttpResponse<String> response = Unirest.get("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3")
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.asString();GET /v1/nearby in C# (HttpClient)
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3"),
Headers =
{
{ "Accept", "application/json" },
{ "X-API-Key", "YOUR_API_KEY" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}GET /v1/nearby in C# (RestSharp)
var client = new RestClient("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3");
var request = new RestRequest("", Method.Get);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-API-Key", "YOUR_API_KEY");
var response = client.Execute(request);GET /v1/nearby in Go (NewRequest)
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("X-API-Key", "YOUR_API_KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}GET /v1/nearby in Ruby (net::http)
require 'uri'
require 'net/http'
url = URI("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["X-API-Key"] = 'YOUR_API_KEY'
response = http.request(request)
puts response.read_bodyGET /v1/nearby in Swift (NSURLSession)
import Foundation
let headers = [
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()GET /v1/nearby in Objective-C (NSURLSession)
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"Accept": @"application/json",
@"X-API-Key": @"YOUR_API_KEY" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];GET /v1/nearby in Kotlin (OkHttp)
val client = OkHttpClient()
val request = Request.Builder()
.url("https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build()
val response = client.newCall(request).execute()GET /v1/nearby in C (libcurl)
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Accept: application/json");
headers = curl_slist_append(headers, "X-API-Key: YOUR_API_KEY");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);GET /v1/nearby in Clojure (clj-http)
(require '[clj-http.client :as client])
(client/get "https://earthquakes.p.apihiver.com/v1/nearby" {:headers {:X-API-Key "YOUR_API_KEY"}
:query-params {:coords "35.68,139.69"
:radius_km "{radius_km}"
:days "{days}"
:min_magnitude "{min_magnitude}"
:limit "3"}
:accept :json})GET /v1/nearby in OCaml (CoHTTP)
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3" in
let headers = Header.add_list (Header.init ()) [
("Accept", "application/json");
("X-API-Key", "YOUR_API_KEY");
] in
Client.call ~headers `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)GET /v1/nearby in R (httr)
library(httr)
url <- "https://earthquakes.p.apihiver.com/v1/nearby"
queryString <- list(
coords = "35.68,139.69",
radius_km = "{radius_km}",
days = "{days}",
min_magnitude = "{min_magnitude}",
limit = "3"
)
response <- VERB("GET", url, query = queryString, add_headers('X-API-Key' = 'YOUR_API_KEY'), content_type(""), accept("application/json"))
content(response, "text")GET /v1/nearby in PowerShell (Invoke-WebRequest)
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-WebRequest -Uri 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3' -Method GET -Headers $headersGET /v1/nearby in PowerShell (Invoke-RestMethod)
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-RestMethod -Uri 'https://earthquakes.p.apihiver.com/v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3' -Method GET -Headers $headersGET /v1/nearby in HTTP (HTTP/1.1)
GET /v1/nearby?coords=35.68%2C139.69&radius_km=%7Bradius_km%7D&days=%7Bdays%7D&min_magnitude=%7Bmin_magnitude%7D&limit=3 HTTP/1.1
Accept: application/json
X-Api-Key: YOUR_API_KEY
Host: earthquakes.p.apihiver.com
Example response (200, application/json)
Success.
1{
2 "days": 30,
3 "count": 3,
4 "center": {
5 "lat": 35.68,
6 "lon": 139.69
7 },
8 "source": "USGS",
9 "radius_km": 300,
10 "earthquakes": [
11 {
12 "id": "us6000txjc",
13 "lat": 37.4587,
14 "lon": 138.7057,
15 "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us6000txjc",
16 "time": "2026-09-25T07:18:22.822000+00:00",
17 "place": "8 km ENE of Kariwa, Japan",
18 "depth_km": 165.7,
19 "magnitude": 4.1,
20 "alert_level": null,
21 "felt_reports": null,
22 "tsunami_warning": false
23 },
24 {
25 "id": "us7000tj1b",
26 "lat": 37.5254,
27 "lon": 142.0357,
28 "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us7000tj1b",
29 "time": "2026-09-21T22:29:59.302000+00:00",
30 "place": "91 km E of Namie, Japan",
31 "depth_km": 35,
32 "magnitude": 4.5,
33 "alert_level": null,
34 "felt_reports": null,
35 "tsunami_warning": false
36 },
37 {
38 "id": "us7000tirt",
39 "lat": 33.9889,
40 "lon": 137.3197,
41 "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us7000tirt",
42 "time": "2026-09-20T13:54:56.985000+00:00",
43 "place": "58 km SE of Shima, Japan",
44 "depth_km": 357.877,
45 "magnitude": 4.7,
46 "alert_level": null,
47 "felt_reports": null,
48 "tsunami_warning": false
49 }
50 ]
51}Errors
- 400 — A required parameter is missing or a value has the wrong format.
1{ 2 "error": { 3 "code": "INVALID_INPUT", 4 "message": "coords: Field required" 5 } 6}
Gateway errors (missing key, no subscription, rate limits) are listed in Error codes.