QR code that joins a Wi-Fi network when scanned
Generates a QR code that joins a Wi-Fi network when scanned.
Request
GEThttps://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123
*
String. Wi-Fi network name.
String. Wi-Fi password (leave empty for open networks).
String. WPA, WEP or nopass (default
WPA). Boolean.
true if the network is hidden (default false). Number. Image size in pixels (64–2000, default
300). Language
Client
1curl --request GET \
2 --url 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D' \
3 --header 'Accept: application/json' \
4 --header 'X-API-Key: YOUR_API_KEY'QR code that joins a Wi-Fi network when scanned: QR Code Generator & Reader API reference
Generates a QR code that joins a Wi-Fi network when scanned. This endpoint is part of the QR Code Generator & Reader API: Create QR codes for links, text, UPI payments, Wi-Fi logins and contact cards (PNG/SVG, custom colours) and read QR codes from images.
QR code that joins a Wi-Fi network when scanned: example requests in every language
GET /v1/wifi in Shell (cURL)
curl --request GET \
--url 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D' \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY'GET /v1/wifi in Shell (HTTPie)
http GET 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D' \
Accept:application/json \
X-API-Key:YOUR_API_KEYGET /v1/wifi in Shell (Wget)
wget --quiet \
--method GET \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--output-document \
- 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D'GET /v1/wifi in Node.js (http)
const http = require('https');
const options = {
method: 'GET',
hostname: 'qr-code-generator.p.apihiver.com',
port: null,
path: '/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D',
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/wifi in Node.js (Request)
const request = require('request');
const options = {
method: 'GET',
url: 'https://qr-code-generator.p.apihiver.com/v1/wifi',
qs: {
ssid: 'Home',
password: 'secret123',
security: '{security}',
hidden: '{hidden}',
size: '{size}'
},
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/wifi in Node.js (Unirest)
const unirest = require('unirest');
const req = unirest('GET', 'https://qr-code-generator.p.apihiver.com/v1/wifi');
req.query({
ssid: 'Home',
password: 'secret123',
security: '{security}',
hidden: '{hidden}',
size: '{size}'
});
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/wifi in Node.js (Axios)
const axios = require('axios').default;
const options = {
method: 'GET',
url: 'https://qr-code-generator.p.apihiver.com/v1/wifi',
params: {
ssid: 'Home',
password: 'secret123',
security: '{security}',
hidden: '{hidden}',
size: '{size}'
},
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/wifi in Node.js (Fetch)
const fetch = require('node-fetch');
const url = 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D';
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/wifi 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://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D');
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('X-API-Key', 'YOUR_API_KEY');
xhr.send(data);GET /v1/wifi in JavaScript (Axios)
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://qr-code-generator.p.apihiver.com/v1/wifi',
params: {
ssid: 'Home',
password: 'secret123',
security: '{security}',
hidden: '{hidden}',
size: '{size}'
},
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/wifi in JavaScript (Fetch)
const url = 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D';
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/wifi in JavaScript (jQuery)
const settings = {
async: true,
crossDomain: true,
url: 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D',
method: 'GET',
headers: {
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});GET /v1/wifi in Python (http.client)
import http.client
conn = http.client.HTTPSConnection("qr-code-generator.p.apihiver.com")
headers = {
'Accept': "application/json",
'X-API-Key': "YOUR_API_KEY"
}
conn.request("GET", "/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))GET /v1/wifi in Python (Requests)
import requests
url = "https://qr-code-generator.p.apihiver.com/v1/wifi"
querystring = {"ssid":"Home","password":"secret123","security":"{security}","hidden":"{hidden}","size":"{size}"}
headers = {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())GET /v1/wifi in PHP (cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D",
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/wifi in PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D', [
'headers' => [
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY',
],
]);
echo $response->getBody();GET /v1/wifi in PHP (PECL HTTP v1)
<?php
$request = new HttpRequest();
$request->setUrl('https://qr-code-generator.p.apihiver.com/v1/wifi');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'ssid' => 'Home',
'password' => 'secret123',
'security' => '{security}',
'hidden' => '{hidden}',
'size' => '{size}'
]);
$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/wifi in PHP (PECL HTTP v2)
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://qr-code-generator.p.apihiver.com/v1/wifi');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'ssid' => 'Home',
'password' => 'secret123',
'security' => '{security}',
'hidden' => '{hidden}',
'size' => '{size}'
]));
$request->setHeaders([
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();GET /v1/wifi in Java (AsyncHttp)
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D")
.setHeader("Accept", "application/json")
.setHeader("X-API-Key", "YOUR_API_KEY")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();GET /v1/wifi in Java (java.net.http)
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D"))
.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/wifi in Java (OkHttp)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();GET /v1/wifi in Java (Unirest)
HttpResponse<String> response = Unirest.get("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D")
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.asString();GET /v1/wifi in C# (HttpClient)
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D"),
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/wifi in C# (RestSharp)
var client = new RestClient("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D");
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/wifi in Go (NewRequest)
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D"
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/wifi in Ruby (net::http)
require 'uri'
require 'net/http'
url = URI("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D")
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/wifi in Swift (NSURLSession)
import Foundation
let headers = [
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D")! 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/wifi 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://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D"]
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/wifi in Kotlin (OkHttp)
val client = OkHttpClient()
val request = Request.Builder()
.url("https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build()
val response = client.newCall(request).execute()GET /v1/wifi in C (libcurl)
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D");
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/wifi in Clojure (clj-http)
(require '[clj-http.client :as client])
(client/get "https://qr-code-generator.p.apihiver.com/v1/wifi" {:headers {:X-API-Key "YOUR_API_KEY"}
:query-params {:ssid "Home"
:password "secret123"
:security "{security}"
:hidden "{hidden}"
:size "{size}"}
:accept :json})GET /v1/wifi in OCaml (CoHTTP)
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D" 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/wifi in R (httr)
library(httr)
url <- "https://qr-code-generator.p.apihiver.com/v1/wifi"
queryString <- list(
ssid = "Home",
password = "secret123",
security = "{security}",
hidden = "{hidden}",
size = "{size}"
)
response <- VERB("GET", url, query = queryString, add_headers('X-API-Key' = 'YOUR_API_KEY'), content_type(""), accept("application/json"))
content(response, "text")GET /v1/wifi in PowerShell (Invoke-WebRequest)
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-WebRequest -Uri 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D' -Method GET -Headers $headersGET /v1/wifi in PowerShell (Invoke-RestMethod)
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-RestMethod -Uri 'https://qr-code-generator.p.apihiver.com/v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D' -Method GET -Headers $headersGET /v1/wifi in HTTP (HTTP/1.1)
GET /v1/wifi?ssid=Home&password=secret123&security=%7Bsecurity%7D&hidden=%7Bhidden%7D&size=%7Bsize%7D HTTP/1.1
Accept: application/json
X-Api-Key: YOUR_API_KEY
Host: qr-code-generator.p.apihiver.com
Example response (200, image/png)
The Wi-Fi QR code image.
Errors
- 400 — A required parameter is missing or a value has the wrong format.
1{ 2 "error": { 3 "code": "INVALID_INPUT", 4 "message": "ssid: Field required" 5 } 6}
Gateway errors (missing key, no subscription, rate limits) are listed in Error codes.
Other QR Code Generator & Reader API endpoints
- GETMake a QR code image for text, a URL, UPI payment link, Wi-Fi login…
- GETQR code for a UPI payment (scannable by any UPI app)
- GETQR code with a contact card (scan to save the contact)
- POSTRead QR codes from an image (upload, url or base64)
QR Code Generator & Reader API pricing →·QR Code Generator & Reader API overview →