apiverve_metadataextractor 1.2.0 → 1.2.2

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.
data/README.md CHANGED
@@ -1,90 +1,90 @@
1
- # Metadata Extractor API - Ruby Gem
2
-
3
- Metadata Extractor is a simple tool for extracting metadata from web pages. It returns the meta title, meta description, and more.
4
-
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- ```ruby
10
- gem 'apiverve_metadataextractor'
11
- ```
12
-
13
- And then execute:
14
-
15
- ```bash
16
- $ bundle install
17
- ```
18
-
19
- Or install it yourself as:
20
-
21
- ```bash
22
- $ gem install apiverve_metadataextractor
23
- ```
24
-
25
- ## Getting Started
26
-
27
- Get your API key at [APIVerve](https://apiverve.com)
28
-
29
- ### Basic Usage
30
-
31
- ```ruby
32
- require 'apiverve_metadataextractor'
33
-
34
- # Initialize the client
35
- client = APIVerve::Metadataextractor::Client.new(api_key: "YOUR_API_KEY")
36
-
37
- # Make a request
38
- response = client.execute({ url: "https://apiverve.com" })
39
-
40
- # Print the response
41
- puts response
42
- ```
43
-
44
-
45
- ### Error Handling
46
-
47
- ```ruby
48
- begin
49
- response = client.execute({ url: "https://apiverve.com" })
50
- puts response["data"]
51
- rescue APIVerve::Metadataextractor::ValidationError => e
52
- puts "Validation error: #{e.errors.join(', ')}"
53
- rescue APIVerve::Metadataextractor::APIError => e
54
- puts "API error: #{e.message}"
55
- puts "Status code: #{e.status_code}"
56
- end
57
- ```
58
-
59
- ### Debug Mode
60
-
61
- ```ruby
62
- # Enable debug logging
63
- client = APIVerve::Metadataextractor::Client.new(
64
- api_key: "YOUR_API_KEY",
65
- debug: true
66
- )
67
- ```
68
-
69
- ## Example Response
70
-
71
- ```json
1
+ # Metadata Extractor API - Ruby Gem
2
+
3
+ Metadata Extractor is a website metadata extraction API that pulls HTML meta tags from any submitted URL, returning the page title, meta description, author, robots directives, and language. Paid tiers add Open Graph tags, JSON-LD schemas, and favicons.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'apiverve_metadataextractor'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```bash
16
+ $ bundle install
17
+ ```
18
+
19
+ Or install it yourself as:
20
+
21
+ ```bash
22
+ $ gem install apiverve_metadataextractor
23
+ ```
24
+
25
+ ## Getting Started
26
+
27
+ Get your API key at [APIVerve](https://apiverve.com)
28
+
29
+ ### Basic Usage
30
+
31
+ ```ruby
32
+ require 'apiverve_metadataextractor'
33
+
34
+ # Initialize the client
35
+ client = APIVerve::Metadataextractor::Client.new(api_key: "YOUR_API_KEY")
36
+
37
+ # Make a request
38
+ response = client.execute({ url: "https://apiverve.com" })
39
+
40
+ # Print the response
41
+ puts response
42
+ ```
43
+
44
+
45
+ ### Error Handling
46
+
47
+ ```ruby
48
+ begin
49
+ response = client.execute({ url: "https://apiverve.com" })
50
+ puts response["data"]
51
+ rescue APIVerve::Metadataextractor::ValidationError => e
52
+ puts "Validation error: #{e.errors.join(', ')}"
53
+ rescue APIVerve::Metadataextractor::APIError => e
54
+ puts "API error: #{e.message}"
55
+ puts "Status code: #{e.status_code}"
56
+ end
57
+ ```
58
+
59
+ ### Debug Mode
60
+
61
+ ```ruby
62
+ # Enable debug logging
63
+ client = APIVerve::Metadataextractor::Client.new(
64
+ api_key: "YOUR_API_KEY",
65
+ debug: true
66
+ )
67
+ ```
68
+
69
+ ## Example Response
70
+
71
+ ```json
72
72
  {
73
73
  "status": "ok",
74
74
  "error": null,
75
75
  "data": {
76
76
  "requestUrl": "https://apiverve.com",
77
77
  "url": "https://apiverve.com/",
78
- "canonical": "https://apiverve.com",
78
+ "canonical": "",
79
79
  "lang": "en",
80
80
  "charset": "utf-8",
81
- "title": "APIVerve - Fast, Scalable, and Reliable APIs",
81
+ "title": "APIVerve — One key for 300+ production APIs",
82
82
  "image": "",
83
83
  "favicons": [
84
84
  {
85
85
  "rel": "icon",
86
- "type": "image/x-icon",
87
- "href": "/images/favicon.ico"
86
+ "href": "/images/favicon.ico",
87
+ "sizes": "any"
88
88
  },
89
89
  {
90
90
  "rel": "icon",
@@ -93,62 +93,34 @@ client = APIVerve::Metadataextractor::Client.new(
93
93
  },
94
94
  {
95
95
  "rel": "apple-touch-icon",
96
- "href": "/images/favicon.png"
96
+ "href": "/images/apple-touch-icon.png"
97
97
  }
98
98
  ],
99
- "author": "APIVerve",
100
- "description": "APIVerve offers fast, scalable, and reliable APIs for developers. Access data enrichment, validation, and integration services with enterprise-grade performance.",
101
- "keywords": "API, developer tools, data enrichment, API integration, scalable APIs, reliable APIs",
99
+ "author": "",
100
+ "description": "Consistent schemas, predictable credit pricing, and an uptime SLA on every paid plan across 300+ production APIs. One key, one bill, zero glue code.",
101
+ "keywords": "",
102
102
  "source": "",
103
103
  "price": "",
104
104
  "priceCurrency": "",
105
105
  "availability": "",
106
- "robots": "index, follow",
107
- "jsonld": [
108
- {
109
- "@context": "https://schema.org",
110
- "@type": "Organization",
111
- "name": "APIVerve",
112
- "url": "https://apiverve.com",
113
- "logo": "https://apiverve.com/images/favicon.png",
114
- "sameAs": [
115
- "https://www.facebook.com/apiverve",
116
- "https://www.twitter.com/apivervehq",
117
- "https://www.linkedin.com/company/apiverve",
118
- "https://github.com/apiverve",
119
- "https://www.instagram.com/apiverve"
120
- ]
121
- },
122
- {
123
- "@context": "https://schema.org",
124
- "@type": "WebSite",
125
- "url": "https://apiverve.com",
126
- "potentialAction": {
127
- "@type": "SearchAction",
128
- "target": {
129
- "@type": "EntryPoint",
130
- "urlTemplate": "https://apiverve.com/marketplace?search={search_term_string}"
131
- },
132
- "query-input": "required name=search_term_string"
133
- }
134
- }
135
- ],
106
+ "robots": "",
107
+ "jsonld": [],
136
108
  "og:url": "https://apiverve.com",
137
- "og:locale": "",
109
+ "og:locale": "en_US",
138
110
  "og:locale:alternate": "",
139
- "og:title": "APIVerve - Fast, Scalable, and Reliable APIs",
111
+ "og:title": "APIVerve — One key for 300+ production APIs",
140
112
  "og:type": "website",
141
- "og:description": "APIVerve offers fast, scalable, and reliable APIs for developers. Access data enrichment, validation, and integration services with enterprise-grade performance.",
113
+ "og:description": "Consistent schemas, predictable credit pricing, and an uptime SLA on every paid plan across 300+ production APIs. One key, one bill, zero glue code.",
142
114
  "og:determiner": "",
143
115
  "og:site_name": "APIVerve",
144
- "og:image": "https://apiverve.com/images/posterImage.png",
116
+ "og:image": "https://apiverve.com/social-images/page-home.png",
145
117
  "og:image:secure_url": "",
146
118
  "og:image:type": "",
147
119
  "og:image:width": "1200",
148
120
  "og:image:height": "630",
149
- "twitter:title": "APIVerve - Fast, Scalable, and Reliable APIs",
150
- "twitter:description": "APIVerve offers fast, scalable, and reliable APIs for developers. Access data enrichment, validation, and integration services with enterprise-grade performance.",
151
- "twitter:image": "https://apiverve.com/images/posterImage.png",
121
+ "twitter:title": "APIVerve — One key for 300+ production APIs",
122
+ "twitter:description": "Consistent schemas, predictable credit pricing, and an uptime SLA on every paid plan across 300+ production APIs.",
123
+ "twitter:image": "https://apiverve.com/social-images/page-home.png",
152
124
  "twitter:image:alt": "",
153
125
  "twitter:card": "summary_large_image",
154
126
  "twitter:site": "",
@@ -172,319 +144,378 @@ client = APIVerve::Metadataextractor::Client.new(
172
144
  "twitter:app:url:googleplay": "",
173
145
  "headings": [
174
146
  {
175
- "level": "h4",
176
- "text": "API Platform"
147
+ "level": "h1",
148
+ "text": "Every API your product needs, behind one key."
177
149
  },
178
150
  {
179
- "level": "h5",
180
- "text": "Core Platform"
151
+ "level": "h2",
152
+ "text": "The boring parts of API integration, already solved."
181
153
  },
182
154
  {
183
- "level": "h5",
184
- "text": "Developer Tools"
155
+ "level": "h3",
156
+ "text": "One response envelope"
185
157
  },
186
158
  {
187
- "level": "h5",
188
- "text": "Integrations"
159
+ "level": "h3",
160
+ "text": "Flat credit pricing"
189
161
  },
190
162
  {
191
- "level": "h4",
192
- "text": "Solutions"
163
+ "level": "h3",
164
+ "text": "Backed by an uptime SLA"
193
165
  },
194
166
  {
195
- "level": "h5",
196
- "text": "By Industry"
167
+ "level": "h2",
168
+ "text": "Your first call takes two minutes."
197
169
  },
198
170
  {
199
- "level": "h5",
200
- "text": "By Use Case"
171
+ "level": "h3",
172
+ "text": "Grab a key"
201
173
  },
202
174
  {
203
- "level": "h4",
204
- "text": "Resources"
175
+ "level": "h3",
176
+ "text": "Call any endpoint"
205
177
  },
206
178
  {
207
- "level": "h5",
208
- "text": "Learn & Build"
179
+ "level": "h3",
180
+ "text": "Ship it"
209
181
  },
210
182
  {
211
- "level": "h5",
212
- "text": "Support & Community"
183
+ "level": "h2",
184
+ "text": "Authenticate once. Point at anything."
213
185
  },
214
186
  {
215
- "level": "h5",
216
- "text": "Trust & Transparency"
187
+ "level": "h2",
188
+ "text": "Skip the integration work. Ship the feature."
217
189
  },
218
190
  {
219
- "level": "h1",
220
- "text": "Fast, Scalable, and Reliable |"
191
+ "level": "h3",
192
+ "text": "User verification"
193
+ },
194
+ {
195
+ "level": "h3",
196
+ "text": "Commerce toolkit"
197
+ },
198
+ {
199
+ "level": "h3",
200
+ "text": "Data enrichment"
201
+ },
202
+ {
203
+ "level": "h3",
204
+ "text": "Docs & media"
221
205
  },
222
206
  {
223
207
  "level": "h2",
224
- "text": "Trusted by over 40,000 forward thinking developers"
208
+ "text": "Metrics from the last 24 hours."
225
209
  },
226
210
  {
227
211
  "level": "h2",
228
- "text": "Why Developers Choose APIVerve"
212
+ "text": "Production APIs for the things you keep rebuilding."
229
213
  },
230
214
  {
231
215
  "level": "h3",
232
- "text": "⚡ Unmatched Reliability"
216
+ "text": "Email Validator →"
233
217
  },
234
218
  {
235
219
  "level": "h3",
236
- "text": "🔑 True One-Key Simplicity"
220
+ "text": "IP Lookup →"
237
221
  },
238
222
  {
239
223
  "level": "h3",
240
- "text": "🌐 GraphQL & Mocking"
224
+ "text": "Weather →"
241
225
  },
242
226
  {
243
- "level": "h2",
244
- "text": "Most Popular APIs"
227
+ "level": "h3",
228
+ "text": "QR Code Generator →"
229
+ },
230
+ {
231
+ "level": "h3",
232
+ "text": "Currency Converter →"
245
233
  },
246
234
  {
247
235
  "level": "h3",
248
- "text": "Daily API Performance"
236
+ "text": "Translator →"
249
237
  },
250
238
  {
251
239
  "level": "h2",
252
- "text": "Trusted by Developers Worldwide"
240
+ "text": "450,000+ lookups, validations, and conversions a day, through one key."
241
+ },
242
+ {
243
+ "level": "h2",
244
+ "text": "Give your software a way to act on the world."
245
+ },
246
+ {
247
+ "level": "h3",
248
+ "text": "Scaling in production?"
253
249
  },
254
250
  {
255
251
  "level": "h4",
256
- "text": "Tomasz K."
252
+ "text": "Product"
257
253
  },
258
254
  {
259
255
  "level": "h4",
260
- "text": "Priya M."
256
+ "text": "Solutions"
261
257
  },
262
258
  {
263
259
  "level": "h4",
264
- "text": "Rafael S."
260
+ "text": "Integrations"
265
261
  },
266
262
  {
267
- "level": "h2",
268
- "text": "Native SDKs & Libraries"
263
+ "level": "h4",
264
+ "text": "Resources"
269
265
  },
270
266
  {
271
267
  "level": "h4",
272
- "text": "JavaScript/TypeScript"
268
+ "text": "Compare"
273
269
  },
274
270
  {
275
271
  "level": "h4",
276
- "text": "React"
272
+ "text": "SDKs"
277
273
  },
278
274
  {
279
275
  "level": "h4",
280
- "text": "Vue.js"
276
+ "text": "Company"
281
277
  },
282
278
  {
283
279
  "level": "h4",
284
- "text": "Angular"
280
+ "text": "Featured APIs"
285
281
  },
286
282
  {
287
283
  "level": "h4",
288
- "text": "Node.js"
284
+ "text": "More"
289
285
  },
290
286
  {
291
287
  "level": "h4",
292
- "text": "Next.js"
288
+ "text": "Legal"
293
289
  },
294
290
  {
295
- "level": "h2",
296
- "text": "Frequently Asked Questions"
291
+ "level": "h4",
292
+ "text": "Important disclaimer"
293
+ }
294
+ ],
295
+ "imgTags": [
296
+ {
297
+ "src": "/images/favicon.png",
298
+ "alt": "",
299
+ "width": "26",
300
+ "height": "26"
297
301
  },
298
302
  {
299
- "level": "h3",
300
- "text": "How much usage is included with the Free Trial plan?"
303
+ "src": "/images/brands/brand01.png",
304
+ "alt": "Microsoft"
301
305
  },
302
306
  {
303
- "level": "h3",
304
- "text": "How do I get an API Key?"
307
+ "src": "/images/brands/brand02.png",
308
+ "alt": "DuckDuckGo"
305
309
  },
306
310
  {
307
- "level": "h3",
308
- "text": "How does APIVerve use my data?"
311
+ "src": "/images/brands/brand03.png",
312
+ "alt": "Topdanmark"
309
313
  },
310
314
  {
311
- "level": "h3",
312
- "text": "Can I change my plan at any time?"
315
+ "src": "/images/brands/brand04.png",
316
+ "alt": "University of Maryland"
313
317
  },
314
318
  {
315
- "level": "h3",
316
- "text": "How do I know my plan usage?"
319
+ "src": "/images/brands/brand05.png",
320
+ "alt": "Postman"
317
321
  },
318
322
  {
319
- "level": "h3",
320
- "text": "Can I cancel my plan anytime?"
323
+ "src": "/images/brands/brand06.png",
324
+ "alt": "RapidAPI"
321
325
  },
322
326
  {
323
- "level": "h3",
324
- "text": "Where can I find my invoices?"
327
+ "src": "/images/brands/brand07.png",
328
+ "alt": "Zapier"
325
329
  },
326
330
  {
327
- "level": "h3",
328
- "text": "What are your accepted payment methods?"
331
+ "src": "/images/brands/brand08.svg",
332
+ "alt": "Deloitte"
329
333
  },
330
334
  {
331
- "level": "h3",
332
- "text": "What happens when I go over the token limit for the month?"
335
+ "src": "/images/brands/brand01.png",
336
+ "alt": ""
333
337
  },
334
338
  {
335
- "level": "h3",
336
- "text": "What is a token?"
339
+ "src": "/images/brands/brand02.png",
340
+ "alt": ""
337
341
  },
338
342
  {
339
- "level": "h3",
340
- "text": "Do you offer student discounts?"
343
+ "src": "/images/brands/brand03.png",
344
+ "alt": ""
341
345
  },
342
346
  {
343
- "level": "h2",
344
- "text": "Ready to build something amazing?"
347
+ "src": "/images/brands/brand04.png",
348
+ "alt": ""
345
349
  },
346
350
  {
347
- "level": "h3",
348
- "text": "APIVerve"
351
+ "src": "/images/brands/brand05.png",
352
+ "alt": ""
349
353
  },
350
354
  {
351
- "level": "h4",
352
- "text": "Product"
355
+ "src": "/images/brands/brand06.png",
356
+ "alt": ""
353
357
  },
354
358
  {
355
- "level": "h4",
356
- "text": "Integrations"
359
+ "src": "/images/brands/brand07.png",
360
+ "alt": ""
357
361
  },
358
362
  {
359
- "level": "h4",
360
- "text": "Solutions"
363
+ "src": "/images/brands/brand08.svg",
364
+ "alt": ""
361
365
  },
362
366
  {
363
- "level": "h4",
364
- "text": "Resources"
367
+ "src": "/images/brands/brand01.png",
368
+ "alt": ""
365
369
  },
366
370
  {
367
- "level": "h4",
368
- "text": "Compare"
371
+ "src": "/images/brands/brand02.png",
372
+ "alt": ""
369
373
  },
370
374
  {
371
- "level": "h4",
372
- "text": "SDKs"
375
+ "src": "/images/brands/brand03.png",
376
+ "alt": ""
373
377
  },
374
378
  {
375
- "level": "h4",
376
- "text": "Company"
379
+ "src": "/images/brands/brand04.png",
380
+ "alt": ""
377
381
  },
378
382
  {
379
- "level": "h4",
380
- "text": "Legal"
381
- }
382
- ],
383
- "imgTags": [
383
+ "src": "/images/brands/brand05.png",
384
+ "alt": ""
385
+ },
384
386
  {
385
- "src": "/images/favicon.png",
386
- "alt": "APIVerve"
387
+ "src": "/images/brands/brand06.png",
388
+ "alt": ""
387
389
  },
388
390
  {
389
- "src": "/images/wreath.svg",
390
- "alt": "Award"
391
+ "src": "/images/brands/brand07.png",
392
+ "alt": ""
393
+ },
394
+ {
395
+ "src": "/images/brands/brand08.svg",
396
+ "alt": ""
397
+ },
398
+ {
399
+ "src": "/images/brands/brand01.png",
400
+ "alt": ""
401
+ },
402
+ {
403
+ "src": "/images/brands/brand02.png",
404
+ "alt": ""
405
+ },
406
+ {
407
+ "src": "/images/brands/brand03.png",
408
+ "alt": ""
409
+ },
410
+ {
411
+ "src": "/images/brands/brand04.png",
412
+ "alt": ""
413
+ },
414
+ {
415
+ "src": "/images/brands/brand05.png",
416
+ "alt": ""
391
417
  },
392
418
  {
393
419
  "src": "/images/brands/brand06.png",
394
- "alt": "Postman"
420
+ "alt": ""
421
+ },
422
+ {
423
+ "src": "/images/brands/brand07.png",
424
+ "alt": ""
425
+ },
426
+ {
427
+ "src": "/images/brands/brand08.svg",
428
+ "alt": ""
395
429
  },
396
430
  {
397
431
  "src": "/images/brands/brand01.png",
398
- "alt": "Microsoft"
432
+ "alt": ""
399
433
  },
400
434
  {
401
435
  "src": "/images/brands/brand02.png",
402
- "alt": "DuckDuckGo"
436
+ "alt": ""
403
437
  },
404
438
  {
405
439
  "src": "/images/brands/brand03.png",
406
- "alt": "Topdanmark"
440
+ "alt": ""
407
441
  },
408
442
  {
409
443
  "src": "/images/brands/brand04.png",
410
- "alt": "University of Maryland"
444
+ "alt": ""
411
445
  },
412
446
  {
413
447
  "src": "/images/brands/brand05.png",
414
- "alt": "Postman"
448
+ "alt": ""
415
449
  },
416
450
  {
417
451
  "src": "/images/brands/brand06.png",
418
- "alt": "RapidAPI"
452
+ "alt": ""
419
453
  },
420
454
  {
421
455
  "src": "/images/brands/brand07.png",
422
- "alt": "Zapier"
456
+ "alt": ""
423
457
  },
424
458
  {
425
459
  "src": "/images/brands/brand08.svg",
426
- "alt": "Brand"
460
+ "alt": ""
427
461
  },
428
462
  {
429
463
  "src": "/images/brands/brand01.png",
430
- "alt": "Microsoft"
464
+ "alt": ""
431
465
  },
432
466
  {
433
467
  "src": "/images/brands/brand02.png",
434
- "alt": "DuckDuckGo"
468
+ "alt": ""
435
469
  },
436
470
  {
437
471
  "src": "/images/brands/brand03.png",
438
- "alt": "Topdanmark"
472
+ "alt": ""
439
473
  },
440
474
  {
441
475
  "src": "/images/brands/brand04.png",
442
- "alt": "University of Maryland"
476
+ "alt": ""
443
477
  },
444
478
  {
445
479
  "src": "/images/brands/brand05.png",
446
- "alt": "Postman"
480
+ "alt": ""
447
481
  },
448
482
  {
449
483
  "src": "/images/brands/brand06.png",
450
- "alt": "RapidAPI"
484
+ "alt": ""
451
485
  },
452
486
  {
453
487
  "src": "/images/brands/brand07.png",
454
- "alt": "Zapier"
488
+ "alt": ""
455
489
  },
456
490
  {
457
491
  "src": "/images/brands/brand08.svg",
458
- "alt": "Brand"
492
+ "alt": ""
459
493
  },
460
494
  {
461
495
  "src": "/images/favicon.png",
462
- "alt": "APIVerve"
496
+ "alt": "",
497
+ "width": "24",
498
+ "height": "24"
463
499
  }
464
500
  ],
465
501
  "responseBody": "",
466
- "viewport": "width=device-width, initial-scale=1,width=device-width, initial-scale=1",
467
- "googlebot": "index, follow",
502
+ "viewport": "width=device-width, initial-scale=1, maximum-scale=1",
468
503
  "theme-color": "#ffffff",
469
504
  "application-name": "APIVerve",
470
- "msapplication-TileColor": "#3b82f6",
471
- "mobile-web-app-capable": "yes",
472
- "apple-mobile-web-app-title": "APIVerve",
473
- "apple-mobile-web-app-status-bar-style": "default",
474
- "og:image:alt": "APIVerve - Fast, Scalable, and Reliable APIs"
505
+ "og:image:alt": "APIVerve — One key for 300+ production APIs"
475
506
  }
476
- }
477
- ```
478
-
479
- ## Documentation
480
-
481
- For more information, visit the [API Documentation](https://docs.apiverve.com/ref/metadataextractor?utm_source=rubygems&utm_medium=readme).
482
-
483
- ## Support
484
-
485
- - Website: [https://apiverve.com/marketplace/metadataextractor?utm_source=ruby&utm_medium=readme](https://apiverve.com/marketplace/metadataextractor?utm_source=ruby&utm_medium=readme)
486
- - Email: hello@apiverve.com
487
-
488
- ## License
489
-
490
- This gem is available under the [MIT License](LICENSE).
507
+ }
508
+ ```
509
+
510
+ ## Documentation
511
+
512
+ For more information, visit the [API Documentation](https://docs.apiverve.com/ref/metadataextractor?utm_source=rubygems&utm_medium=referral&utm_content=readme).
513
+
514
+ ## Support
515
+
516
+ - Website: [https://apiverve.com/marketplace/metadataextractor?utm_source=ruby&utm_medium=referral&utm_content=readme](https://apiverve.com/marketplace/metadataextractor?utm_source=ruby&utm_medium=referral&utm_content=readme)
517
+ - Email: hello@apiverve.com
518
+
519
+ ## License
520
+
521
+ This gem is available under the [MIT License](LICENSE).