semrush-api-client 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -3
- package/package.json +1 -1
- package/dist/client/index.js +0 -29
- package/dist/domain/getDomainRank.js +0 -13
- package/dist/index.js +0 -22
- package/dist/keyword/getPhrase.js +0 -12
- package/dist/type/general/database.js +0 -2
- package/dist/type/general/exportColumns.js +0 -2
package/README.md
CHANGED
|
@@ -1,7 +1,44 @@
|
|
|
1
|
-
# semrush-api
|
|
1
|
+
# semrush-api-client
|
|
2
2
|
|
|
3
|
+
A Node.js/TypeScript client for accessing the SEMrush API easily.
|
|
3
4
|
|
|
4
|
-
##
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install semrush-api-client
|
|
5
9
|
```
|
|
6
|
-
|
|
10
|
+
|
|
11
|
+
## Usage Example
|
|
12
|
+
|
|
13
|
+
First, set your SEMrush API key in your environment variables (e.g., in a `.env` file):
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
SEMRUSH_API_KEY=your_api_key_here
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Then, use the client in your code:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { SemrushAPIClient } from "semrush-api";
|
|
23
|
+
const client = new SemrushAPIClient({
|
|
24
|
+
api_key: process.env.SEMRUSH_API_KEY!,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// Get domain rank
|
|
28
|
+
client.getDomainRank({ domain: "apple.com" }).then((data) => {
|
|
29
|
+
console.log(data);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Get keyword data
|
|
33
|
+
client.getPhrase({ phrase: "apple" }).then((data) => {
|
|
34
|
+
console.log(data);
|
|
35
|
+
});
|
|
7
36
|
```
|
|
37
|
+
|
|
38
|
+
## Contributing
|
|
39
|
+
|
|
40
|
+
Contributions are welcome! Feel free to open issues or submit pull requests to improve this project.
|
|
41
|
+
|
|
42
|
+
## License
|
|
43
|
+
|
|
44
|
+
See [LICENSE](LICENSE).
|
package/package.json
CHANGED
package/dist/client/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SemrushAPIClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const getDomainRank_1 = require("../domain/getDomainRank");
|
|
9
|
-
const getPhrase_1 = require("../keyword/getPhrase");
|
|
10
|
-
class SemrushAPIClient {
|
|
11
|
-
client;
|
|
12
|
-
api_key;
|
|
13
|
-
BASE_URL = "https://api.semrush.com/";
|
|
14
|
-
constructor({ api_key }) {
|
|
15
|
-
this.api_key = api_key;
|
|
16
|
-
this.client = axios_1.default.create({
|
|
17
|
-
baseURL: this.BASE_URL,
|
|
18
|
-
timeout: 5000,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async get(url, params) {
|
|
22
|
-
const allParams = { ...params, key: this.api_key };
|
|
23
|
-
const response = await this.client.get(url, { params: allParams });
|
|
24
|
-
return response.data;
|
|
25
|
-
}
|
|
26
|
-
getDomainRank = getDomainRank_1.getDomainRank;
|
|
27
|
-
getPhrase = getPhrase_1.getPhraseAll;
|
|
28
|
-
}
|
|
29
|
-
exports.SemrushAPIClient = SemrushAPIClient;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDomainRank = getDomainRank;
|
|
4
|
-
async function getDomainRank({ domain, export_columns = ["Dn", "Or", "Rk", "Ot", "Oc"], database = "us", display_limit = 1000, }) {
|
|
5
|
-
const params = {
|
|
6
|
-
type: "domain_ranks",
|
|
7
|
-
export_columns: export_columns.join(","),
|
|
8
|
-
domain,
|
|
9
|
-
database,
|
|
10
|
-
display_limit,
|
|
11
|
-
};
|
|
12
|
-
return this.get("", params);
|
|
13
|
-
}
|
package/dist/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
const dotenv_1 = __importDefault(require("dotenv"));
|
|
21
|
-
dotenv_1.default.config();
|
|
22
|
-
__exportStar(require("./client"), exports);
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPhraseAll = getPhraseAll;
|
|
4
|
-
async function getPhraseAll({ phrase, export_columns = ["Dt", "Db", "Ph", "Nq", "Cp", "Co", "Nr"], database = "us", }) {
|
|
5
|
-
const params = {
|
|
6
|
-
type: "phrase_all",
|
|
7
|
-
export_columns: export_columns.join(","),
|
|
8
|
-
phrase,
|
|
9
|
-
database,
|
|
10
|
-
};
|
|
11
|
-
return this.get("", params);
|
|
12
|
-
}
|